使用CBC和PKCS5Padding Python 3进行AES加密/解密

时间:2020-08-20 09:41:08

标签: python encryption aes cbc-mode

我正在进行一个集成,该集成要求对请求进行加密,并对响应进行解密,并提供以下详细信息。

使用的算法: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。

预先感谢

0 个答案:

没有答案