问题描述
最近在做需求接触到的加解密的问题,一般现在依赖库与扩展包基本都有,md5,sha系列以及AES对称加密等。
因为需要使用python进行实现,python有专门的库方法进行加解密,只是在实现AES对称加密时,python中实现在现有的方法库基础上进行自定义一些变量,如填充,移位iv(默认长度必须16位), 因为对方给的密钥是32位,而给的java默认支持是16位密钥,若要支持32位密钥AES加解密就需要进行扩展包。
1.各种语言实现
网上已经各种语言实现好的AES加密,可以点击查看:http://outofmemory.cn/code-snippet/35524/AES-with-javascript-java-csharp-python-or-php2.python实现时踩的坑
(1)iv的使用,必须使用;
(2)iv的正确使用,格式:’\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0’;
(3)最后要解析成base64.b64encode;
(4)根据需求进行设置加密模式与密钥长度。