python aes加密和 rijndael-256加密

标准的AES加密是 使用由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197 , Python中的Pycrypto模块中的AES算法也是根据此进行实现的。
其相当于 rigndael-128
在实际使用中 rigndael-256也是一个比较常用的加密。
其区别:
rigndael-128 的block size 为 128 , iv长度为 16字节 ,为标准AES加密
rigndael-256 的block size为 256 ,iv长度为32字节

其中Pycropto的下载地址为:
https://pypi.python.org/pypi/pycrypto/2.6.1
可以直接通过pip install pycrypto进行安装, 其实现了标准的AES加密(regndael-128 )
cryptoplus库可在如下地址下载:
https://github.com/doegox/python-cryptoplus/ 其实现了 标准AES加密 和 regndael-256

如下例子可以说明二者之间的关系:
>>> from Crypto.Cipher import AES
>>>
>>> obj=AES.new(“0123456789123456”,AES.MODE_CBC,”\0″*16)
>>> c= obj.encrypt(“1111″*4)
>>> c
‘\xa2V\x0c\xe1\xb0\xca,\x17p\xf3,\x0b;-a\x10’
>>> obj=python_Rijndael.new(“0123456789123456”,python_Rijndael.MODE_CBC,”\0″*16,blocksize=16)
>>> obj.decrypt(c)
‘1111111111111111’
>>>

rigndael-256 的用法:
>>> obj=python_Rijndael.new(“w2d7aa@#ttt “,python_Rijndael.MODE_CBC,a[:32],blocksize=32)
>>> obj.decrypt(a[32:])


你可能感兴趣的:(python aes加密和 rijndael-256加密)