Python3-hashlib模塊-加密算法之安全哈希


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進制數字

import hashlib

password = b"Hello,World!"    # 要加密的數據

# 1.創建一個hash對象
h = hashlib.sha256()

# 2.填充要加密的數據
h.update(password)

# 3.獲取加密結果
result = h.hexdigest()
print(result)    # 輸出結果:8f4ec1811c6c4261c97a7423b3a56d69f0f160074f39745af20bb5fcf65ccf78
數據加密三部曲

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM