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())
注:加密數據時一定要指定數據編碼格式。
