在python中使用DES/3DES

在python中使用DES/3DES,python,cryptography,3des,Python,Cryptography,3des,python中使用des/3des进行加密/解密的最佳模块/包是什么。 是否有人可以提供在python上使用des/3des加密数据的示例。可用于des和3des。示例用法: 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 "Encrypte

python中使用des/3des进行加密/解密的最佳模块/包是什么。 是否有人可以提供在python上使用des/3des加密数据的示例。

可用于des和3des。示例用法:

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
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

另一种选择是支持许多加密算法(包括DES和3DES),但它不是免费的。示例用法:

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
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

无论如何,我希望您知道,现在DES和3DES都不被认为是相当安全的,有很多更好的替代品(如果您想坚持标准,或者Twofish、Blowfish等,首先是AES)

您可以使用Python包装器来实现。它的优点是速度快(与OpenSSL一样快),但缺点是文档有限

以下是从到的示例“


您拥有的M2Crypto链接已失效。print“加密:%r”%d-->为什么没有括号?@CaTx,因为它是Python 2。xI正在获取…ModuleNotFoundError:没有名为“pyDes”的模块