hashlib、hmac

时间:2023-03-08 17:28:07
#hashlib

import hashlib
#md5
m = hashlib.md5()
m.update(b"Hello")
print(m.hexdigest()) #hexdigest十六进制加密
m.update(b"It's me") #包含之前的Hello
print(m.hexdigest()) #加密信息包含之前的Hello,与m1.hexdigest()返回信息一致 m1 = hashlib.md5()
m1.update(b"HelloIt's me")
print(m1.hexdigest()) m2 = hashlib.md5()
m2.update("天王盖地虎".encode(encoding="utf-8")) #unicode字符串转换成utf-8,再转换成bytes类型;以bytes类型返回给m2.update;存储数据不管是存在磁盘还是内存中都是bytes类型的
print(m2.hexdigest())
a = "天王盖地虎".encode(encoding="utf-8")
print(type,'-------',a)  #a是一个bytes类型的

#sha
s2 = hashlib.sha1()
s2.update(b"HelloIt's me")
print(s2.hexdigest()) ---------------------------------------------
#hmac
import hmac
h = hmac.new(b"12345","you are 上山打老虎".encode(encoding="utf-8")) #"you are 上山打老虎".encode(encoding="utf-8")返回的是bytes类型的
print(h.digest())
print(h.hexdigest())


h = hmac.new(b"12345",b"you are 250")      #注意需要是bytes类型的
print(h.digest())
print(h.hexdigest()) 参考:
https://www.cnblogs.com/alex3714/articles/5161349.html