hashlib、hmac

#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
posted @ 2018-09-05 17:30  只记今朝笑  阅读(163)  评论(0编辑  收藏  举报