Python中的加密模块

最近项目中用到了一些加密模块,为了验证这些模块,需要在Python中对于加密和加密结果进行验证,因此这里就对Python中会用到的一些加密库,这里只是简单介绍一下,也只是实现一些比较简单的功能。

HASH

HASH属于信息摘要算法,简单来说就是将很长的信息提取成一个固定长度的简单的数据,常用的算法有MD5等算法,MD5是一个比较老的算法,现在已经有快速碰撞💥算法,所以已经不建议使用,Python中进行MD5计算的方法如下:

hash
from Crypto.Hash import MD5
m = MD5.new()
m.update("Hello world!".encode("UTF8"))
print(m.hexdigest())

对称加密AES

AES属于对称加密算法,所谓对称加密就是加密和解密用到的密钥是完全相同的,加密算法和非对称加密相对简单快速,所以常用数据传输时候一般通过非对称加密对对称加密的秘钥进行加密传输,而真正数据传输则是对称加密实现。以下就是一个AES.ECB算法的计算过程:

# AES
from Crypto.Cipher import AES
import base64
cryptor = AES.new(b'1234567890123456', AES.MODE_ECB)
key = b'\0\1\2\3\4\5\6\7\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f'
cryptor = AES.new(key, AES.MODE_ECB)
print([hex(x) for x in key])

本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

相关文章

发表新评论