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