【发布时间】:2017-07-09 00:57:09
【问题描述】:
我正在尝试在 Django 1.11、Python 3.5.2 中集成第 3 方支付网关 (CCAvenue)
第 3 方提供的参考代码使用已弃用的库 md5 对文本进行加密。
from Crypto.Cipher import AES
import md5
def pad(data):
length = 16 - (len(data) % 16)
data += chr(length)*length
return data
def encrypt(plainText,workingKey):
iv = '\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f'
plainText = pad(plainText)
encDigest = md5.new ()
encDigest.update(workingKey)
enc_cipher = AES.new(encDigest.digest(), AES.MODE_CBC, iv)
encryptedText = enc_cipher.encrypt(plainText).encode('hex')
return encryptedText
如何使用 Python 3 的 hashlib 库使上述 encrypt() 方法与 Python 3 兼容?你能把整个方法贴出来吗?
【问题讨论】:
-
你的意思是 Python 2 到 3?
标签: python django python-3.x ccavenue