Kann mir jemand bietet Code zum Verschlüsseln/Entschlüsseln mit m2crypto aes256 CBC Pythonm2crypto Verschlüsseln/Entschlüsseln AES256 mit
Antwort
Wenn es um die Sicherheit kommt nichts schlägt die Dokumentation zu lesen.
http://chandlerproject.org/bin/view/Projects/MeTooCrypto
Auch wenn ich die Zeit zu verstehen und den perfekten Code für Sie und Paste zu kopieren, würden Sie keine Ahnung haben, wenn ich einen guten Job gemacht hat oder nicht. Nicht sehr hilfreich, ich weiß, aber ich wünsche Ihnen viel Glück und sichere Daten.
Diese Verbindung ist nicht mehr gültig. –
Die Dokumentation von M2Crypto ist schrecklich. Manchmal kann die OpenSSL-Dokumentation (m2crypto Wraps OpenSSL) helfen. Am besten schauen Sie sich die M2Crypto Unit Tests an - http://svn.osafoundation.org/m2crypto/trunk/tests/test_evp.py - suchen Sie nach der test_AES()
Methode.
+1 ... Joe, diese Antwort wurde heute sehr geschätzt, als ich an einem Tierprojekt arbeitete. Ich fing an zu denken, dass ich verrückt war, wenn ich mir die M2Crypto-Dokumente anschaute und, äh, einfach kommentierte epydoc API; Sicher, ich habe etwas offensichtlich übersehen! Danke für die Wiederherstellung meines Glaubens. –
Werfen Sie einen Blick auf m2secret:
Kleines Dienstprogramm und Modul für Verschlüsselungs- und Entschlüsselungsdaten symmetrischen Schlüsselalgorithmen verwenden. Standardmäßig verwendet 256-Bit-AES (Rijndael) mit CBC, , aber einige Optionen sind konfigurierbar. PBKDF2-Algorithmus zur Ableitung des Schlüssels vom Passwort.
def encrypt_file(key, in_filename, out_filename,iv):
cipher=M2Crypto.EVP.Cipher('aes_256_cfb',key,iv, op=1)
with open(in_filename, 'rb') as infile:
with open(out_filename, 'wb') as outfile:
outfile.write(b)
while True:
buf = infile.read(1024)
if not buf:
break
outfile.write(cipher.update(buf))
outfile.write(cipher.final())
outfile.close()
infile.close()
def decrypt_file(key, in_filename, out_filename,iv):
cipher = M2Crypto.EVP.Cipher("aes_256_cfb",key , iv, op = 0)
with open(in_filename, 'rb') as infile:
with open(out_filename, 'wb') as outfile:
while True:
buf = infile.read(1024)
if not buf:
break
try:
outfile.write(cipher.update(buf))
except:
print "here"
outfile.write(cipher.final())
outfile.close()
infile.close()
Ich verwende folgenden Wrapper um m2crypto (entlehnt aus cryptography.io):
import os
import base64
import M2Crypto
class SymmetricEncryption(object):
@staticmethod
def generate_key():
return base64.b64encode(os.urandom(48))
def __init__(self, key):
key = base64.b64decode(key)
self.iv = key[:16]
self.key = key[16:]
def encrypt(self, plaintext):
ENCRYPT = 1
cipher = M2Crypto.EVP.Cipher(alg='aes_256_cbc', key=self.key, iv=self.iv, op=ENCRYPT)
ciphertext = cipher.update(plaintext) + cipher.final()
return base64.b64encode(ciphertext)
def decrypt(self, cyphertext):
DECRYPT = 0
cipher = M2Crypto.EVP.Cipher(alg='aes_256_cbc', key=self.key, iv=self.iv, op=DECRYPT)
plaintext = cipher.update(base64.b64decode(cyphertext)) + cipher.final()
return plaintext
- 1. Python M2crypto Fehler
- 2. Von M2Crypto zu pyCrypto
- 3. Erforderliche Verschlüsselung AES256
- 4. Entschlüsseln mit AES256 - Transact SQL oder C#
- 5. AES256 auf Java vs PHP
- 6. Wie installiere ich M2Crypto auf Ubuntu?
- 7. m2crypto wirft "Typeerror: in der Methode 'x509_req_set_pubkey'"
- 8. Brauchen Sie Hilfe mit M2Crypto und USB-Token
- 9. Wie bekomme ich Python m2Crypto zur Arbeit mit virtualenv?
- 10. Wie entschlüsselt AES256 in Web (ASP)
- 11. https mit ECDHE-ECDSA-AES256-GCM-SHA384 in Windows 2012
- 12. Entschlüsseln von AES256 mit node.js gibt falsche endgültige Blocklänge zurück
- 13. Java: Patchen der clientseitigen Sicherheitsrichtlinie aus Applet für AES256
- 14. So konvertieren Sie privaten Schlüssel im PKCS # 8-Format in PKCS # 1-Format mit M2Crypto
- 15. Wie verwende ich M2crypto, um eine X509-Zertifikatskette in einer Nicht-SSL-Einstellung zu validieren
- 16. Verwendung von SHA1 als Nachrichtenauszug beim Generieren eines Aes256-Cbc-Schlüssels
- 17. Ist die Entschlüsselung der AES256-Verschlüsselung in Java ohne unbegrenzt starke JCE-Dateien möglich?
- 18. Die Chiffre ‚aes256-cbc‘ erforderlich ist, aber es ist nicht verfügbar
- 19. Signatur mit pyopenssl
- 20. Django funktioniert mit https mit nginx gunicorn und Unix-Sockets
- 21. So fügen Sie den Daten eine Auffüllung hinzu, damit der AES256-Verschlüsselungsalgorithmus in der pycrypto-Bibliothek akzeptiert wird
- 22. Warum funktioniert TLS1.2 nicht in Apache 2.4 mit SSLProtocol all -SSLv3 -SSLv2?
- 23. Nginx Konfiguration für eine NodeJS App mit SSL
- 24. SSL Handshake Faillure mit node.js Server
- 25. Fabric Fehler beim Verbinden mit mehreren Hosts mit SSH-Config-Datei & RSA-Schlüssel
- 26. Wie erstelle ich mit OpenSSL selbstgeschriebenen 256-Bit-Zertifikatsschlüssel?
- 27. So generieren Sie SSH-Schlüsselpaare mit Python
- 28. So importieren Sie ein global installiertes Paket in den virtualenv-Ordner
- 29. Wie verwende ich eingebetteten Jetty Server 9 mit Kerberos-Authentifizierung?
- 30. Paramiko SFTP mit Schlüssel und Benutzername/Passwort - "Ups, unbehandelt Typ 3"
Sie können eine a [in diesem Beitrag] aussehen haben [1]. [1]: http://stackoverflow.com/questions/5003626/problem-with-m2cryptos-aes – ohe