Python3中的hashlib模塊提供了多個不同的安全哈希算法的通用接口
hashlib模塊代替了Python2中的md5和sham模塊,使用這個模塊一般分為3步
1.創建一個哈希對象,使用哈希算法命名的構造函數或通用構造函數hashlib.new(name[, data])
2.使用哈希對象調用update()方法填充這個對象
3.調用digest() 或 hexdigest()方法來獲取摘要(加密結果)
注:
1.update()方法需要接收的參數是一個字節對象(字節字符串,如:b"Hello,World!")
2.常用的一些算法主要有: SHA1, SHA224, SHA256, SHA384, SHA512, MD5等算法
3.SHA1算法比較早,是不能抵抗暴力破解的
hashlib模塊提供一下常量屬性
hashlib.algorithms_guaranteed
獲取保證在所有平台上此模塊支持的哈希算法名稱的集合
hashlib.algorithms_available
獲取可以運行在Python解釋器中的哈希算法名稱的集合
哈希對象常用的方法
h = hashlib.md5() 或 h = hashlib.new("md5") # md5可以替換為其他的哈希類型
h.update(arg)
將字節對象arg填充到哈希對象中,arg通常為要加密的字符串
h.digest()
返回加密結果,它是一個字節對象,長度為 h.digest_size,包含的字節范圍 0 ~ 255
h.hexdigest()
返回加密結果,它是一個字符串對象,長度為 h.digest_size * 2,只包含16進制數字