Python中模块之hashlib&hmac的讲解
hashlib & hmac的讲解
两个模块主要用于加密相关的操作。
1. hashlib模块
-
md5
具体代码如下
import hashlib ha_m5 = hashlib.md5()#创建对象 ha_m5.update('abc'.encode(encoding='utf-8'))#添加对象时需要指定编码 print(ha_m5.digest())#以二进制格式显示加密信息 print(ha_m5.hexdigest())#以十六进制格式显示加密信息(常用)
-
sha1
具体代码如下
ha_s1 = hashlib.sha1() ha_s1.update('abc'.encode(encoding='utf-8')) print(ha_s1.digest()) print(ha_s1.hexdigest())
-
sha224
具体代码如下
ha_s224 = hashlib.sha224() ha_s224.update('abc'.encode(encoding='utf-8')) print(ha_s224.digest()) print(ha_s224.hexdigest())
-
sha256
具体代码如下
ha_s256 = hashlib.sha256() ha_s256.update('abc'.encode(encoding='utf-8')) print(ha_s256.digest()) print(ha_s256.hexdigest())
-
sha384
具体代码如下
ha_s384 = hashlib.sha384() ha_s384.update('abc'.encode(encoding='utf-8')) print(ha_s384.digest()) print(ha_s384.hexdigest())
-
sha512
具体代码如下
ha_s512 = hashlib.sha224() ha_s512.update('abc'.encode(encoding='utf-8')) print(ha_s512.digest()) print(ha_s512.hexdigest())
注:加密是对数据的整体加密,即进行加密时当前的数据进行整体加密。
2. hmac模块
该模块加密是先把数据存储到字典中,然后再进行加密,方法与上述方法类似。
具体代码如下
import hmac
hm = hmac.new(b'abc')
hm = hmac.new('萨芬'.encode(encoding='utf-8'),b'bads')
print(hm.digest())
print(hm.hexdigest())
注:加密数据时一定要指定数据编码格式。