AES解密尾部出现乱码问题
说明
在使用AES解密的时候我发现解密出来的字符串尾部一直都有乱码
解决方案
尾部字符串的ascii码就是删除位索引
具体代码:
cryptor = AES.new('AES_KEY'.encode(), AES.MODE_ECB)
plain_text = cryptor.decrypt(base64.b64decode(data))
plain_text = plain_text.decode()
padding_len = ord(plain_text[len(plain_text) - 1])
plain_text = plain_text[0:-padding_len]
原理
据说是在加密前不满16位进行填充。具体原理不详,百度没找到具体说明答案。