我正在进行一个集成,该集成要求对请求进行加密,并对响应进行解密,并提供以下详细信息。
使用的算法:AES 128 / CBC / PKCS5
初始化向量(IV):{0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x09、0x00、0x00、0x00、0x00、0x00、0x00}
要用作的消息摘要算法:MD5(密钥)
注意:密钥长度为32
我很幸运地尝试了以下链接中的代码。
https://github.com/Bobspadger/sagepay-python/blob/master/sagepay.py
def encrypt( self, raw ):
key = hashlib.md5()
key.update("ABCDEF1234567890ABCDEF1234567890")
key = key.hexdigest()
raw = pad(raw)
cipher = AES.new(key, AES.MODE_CBC, key)
encrypted_text = binascii.hexlify(cipher.encrypt(raw))
return encrypted_text.decode('utf-8').upper()
? ValueError:设置CBC模式时出现错误65537
我还应该如何使用提供的IV,因为在许多示例中使用了随机生成的IV。
预先感谢