python之hashlib模块详解编程语言

import hashlib
#md5加密工具,md5是不可逆的,所以只能比较密文,不能比较明文,python中不仅仅提供md5加密方法,还提供sha1,sha224,sha256,sha384,sha512,MD5加密算法
test_md5 = hashlib.md5() 
test_md5.update(bytes('123',encoding='utf-8')) 
ret = test_md5.hexdigest() 
print(ret) 

  




#还可以提供一个key
test_md5 = hashlib.md5(bytes('abbbbb',encoding='utf-8')) 
test_md5.update(bytes('123',encoding='utf-8')) 
ret = test_md5.hexdigest() 
print(ret) 

 

还可以使用sha1的方法

test_sha1 = hashlib.sha1() 
test_sha1.update(bytes("123",encoding="utf-8")) 
ret = test_sha1.hexdigest() 
print(ret) 

#sha1的方法也可以提供一个key

test_sha1 = hashlib.sha1(bytes("123",encoding="utf-8")) 
test_sha1.update(bytes("123",encoding="utf-8")) 
ret = test_sha1.hexdigest() 
print(ret) 

#其他的算法的使用方法可以sha1和md5的方法都是雷同的,大家可以自己私下尝试

我们可以看下下面的例子,就可以大致看出一些端倪,意思就是每个hashlib对象只能加密一个字符串,不能多次使用

import hashlib 
 
s1 = "alex" 
s2 = "sb" 
s3 = "alexsb" 
 
m1 = hashlib.md5(bytes("aa",encoding="utf-8")) 
m1.update(bytes(s1,encoding="utf-8")) 
m1.update(bytes(s2,encoding="utf-8")) 
a = m1.hexdigest() 
print(a) 
# 5a6021d832f80e3b6067a10dff5b9f30 
 
 
 
m2 = hashlib.md5(bytes("aa",encoding="utf-8")) 
m2.update(bytes(s3,encoding="utf-8")) 
b = m2.hexdigest() 
print(b) 
# 5a6021d832f80e3b6067a10dff5b9f30 

  

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20907.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论