Python标准库之hashlib模块与hmac模块
hashlib模块用于加密相关的操作。在Python 3.x里代替了md5模块和sha模块,主要提供 SHA1、SHA224、SHA256、SHA384、SHA512 、MD5 算法。如果包含中文字符的话,给字符加上编码.encode('utf-8')
md5加密
import hashlib h = hashlib.md5() h.update(b'123456') print(h.hexdigest()) #输出 e10adc3949ba59abbe56e057f20f883e
注意:update是更新的意思,都存储在h对象里面。
import hashlib h = hashlib.md5() h.update(b'123') print(h.hexdigest()) #md5加密123 h.update(b'456') print(h.hexdigest()) #MD5加密123456 #输出 202cb962ac59075b964b07152d234b70 e10adc3949ba59abbe56e057f20f883e
sha1
sha1加密不安全,需要注意。
h = hashlib.sha1() h.update(b'123456') print(h.hexdigest()) #输出 7c4a8d09ca3762af61e59520943dc26494f8941b
sha256
h = hashlib.sha256() h.update(b'123456') print(h.hexdigest()) #输出 8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
hmac模块
import hmac h = hmac.new(b"user","测试账号".encode('utf-8')) print(h.digest()) print(h.hexdigest())