如何解决使用CBC和PKCS5Padding Python 3进行AES加密/解密
我正在进行一个集成,该集成要求对请求进行加密,并对响应进行解密,并提供以下详细信息。
使用的算法: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。
预先感谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。