quel est le meilleur module /paquet python à utiliser des /3des pour le chiffrement /déchiffrement.
quelqu'un pourrait-il fournir de l'exemple de chiffrer les données avec des/3des sur python.
pyDes peut être utilisé pour les deux, DES et 3DES. Exemple d'utilisation:
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
from pyDes import*
data ="Please encrypt my data"
k = des("DESCRYPT", CBC,"\0\0\0\0\0\0\0\0", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
", pad=None, padmode=PAD_PKCS5)
d = k.encrypt(data)print"Encrypted: %r"% d
print"Decrypted: %r"% k.decrypt(d)assert k.decrypt(d, padmode=PAD_PKCS5)== data
Une alternative est la Chillkat Python Bibliothèque de Cryptage qui supporte un grand nombre d'algorithmes de chiffrement (y compris DES & 3DES), mais il est pas gratuit. Exemple d'utilisation:
crypt.put_CryptAlgorithm("des")
crypt.put_CipherMode("cbc")
crypt.put_KeyLength(64)
crypt.put_PaddingScheme(0)
crypt.put_EncodingMode("hex")
ivHex ="0001020304050607"
crypt.SetEncodedIV(ivHex,"hex")
keyHex ="0001020304050607"
crypt.SetEncodedKey(keyHex,"hex")
encStr = crypt.encryptStringENC("The quick brown fox jumps over the lazy dog.")print encStr
decStr = crypt.decryptStringENC(encStr)print decStr
De toute façon, j'espère que vous êtes conscient que ni DES ni 3DES sont considérés comme paritcularly sûr, de nos jours, il y a beaucoup de meilleures alternatives (AES dans la première place si vous voulez vous en tenir à des normes, ou Twofish, Blowfish, etc...)
>>> print encStr \ None print "Crypté: %r" % d ---> pourquoi pas de parenthèses? ne peut pas concat octets int ----> erreur dans python 3 ??? parce que sa Python 2.x
Vous pouvez utiliser le M2Crypto wrapper Python pour OpenSSL. Il a l'avantage d'être rapide (aussi rapide qu'OpenSSL), mais l'inconvénient de la documentation limitée.
pyDes peut être utilisé pour les deux, DES et 3DES. Exemple d'utilisation:
Une alternative est la Chillkat Python Bibliothèque de Cryptage qui supporte un grand nombre d'algorithmes de chiffrement (y compris DES & 3DES), mais il est pas gratuit. Exemple d'utilisation:
De toute façon, j'espère que vous êtes conscient que ni DES ni 3DES sont considérés comme paritcularly sûr, de nos jours, il y a beaucoup de meilleures alternatives (AES dans la première place si vous voulez vous en tenir à des normes, ou Twofish, Blowfish, etc...)
print "Crypté: %r" % d ---> pourquoi pas de parenthèses?
ne peut pas concat octets int ----> erreur dans python 3 ???
parce que sa Python 2.x
OriginalL'auteur Leo
Vous pouvez utiliser le M2Crypto wrapper Python pour OpenSSL. Il a l'avantage d'être rapide (aussi rapide qu'OpenSSL), mais l'inconvénient de la documentation limitée.
Voici l'exemple de ma réponse à "Comment 3DES chiffrer en Python à l'aide de la M2Crypto wrapper?"
OriginalL'auteur Daryl Spitzer