python3 AES.MODE_ECB(128位) pkcs5padding 加密算法

本文主要介绍了在Python3中使用AES.MODE_ECB模式,128位密钥长度,并结合PKCS5Padding进行数据加密的详细过程。包括遇到的错误信息及解决的代码示例。
摘要由CSDN通过智能技术生成

一.错误信息

TypeError("Object type %s cannot be passed to C code" % type(data))

二.代码

class Aes_ECB(object):
    def __init__(self,key):
        self.key = key
        self.MODE = AES.MODE_ECB
        self.BS = AES.block_size
        self.pad = lambda s: s + (self.BS - len(s) % self.BS) * chr(self.BS - len(s) % self.BS)
        self.unpad = lambda s: s[0:-ord(s[-1])]
        # str不是16的倍数那就补足为16的倍数
    def add_to_16(value):
        while len(value) % 16 != 0:
            value += '\0'
        return str.encode(value)  # 返回bytes
    def AES_encrypt(self, text):
    	aes = AES.new(Aes_ECB.add_to_16(self.key), self.MODE)  # 初始化加密器
    	encrypted_text = str(base64.encodebytes(aes.encrypt(Aes_ECB.add_to_16(self.pad(text)))), 			encoding
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值