使用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 (将#修改为@)