Python3 MD5加密正確使用方式


問題描述:

  初次使用python3種hashlib模塊的md5加密方法時,對同一個字符串的多次加密結果不同,如下圖所示:

  代碼為:

import hashlib

a = hashlib.md5()
a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())

a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())

a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())

  解決方案:

通過查找相關文檔發現,如果通過一個md5實例對同一個字符串多次加密時,它實質上是在加密每次明文的疊加。即第一次加密的是“HelloWorld”,第二次加密的是“HelloWorldHelloWorld”,依次類推。正確的使用方式如下圖所示:

代碼為:

import hashlib

a = hashlib.md5()
a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())
a = hashlib.md5()
a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())
a = hashlib.md5()
a.update('123'.encode(encoding='utf-8'))
print(a.hexdigest())

  

 


免責聲明!

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



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