Python__hashlib模块

#Author wangmengzhu
import hashlib
m = hashlib.md5()
m.update('hello'.encode('utf-8'))
m.update('world'.encode('utf-8'))
print(m.hexdigest())
##等价于下面
m.update('helloworld'.encode('utf-8'))
print(m.hexdigest())

m = hashlib.md5()
with open('a.xml','rb') as f:
for line in f:
m.update(line)
print(m.hexdigest())
##等价于下面
m = hashlib.md5()
with open('a.xml','rb') as f:
m.update(f.read())
print(m.hexdigest())

#以上加密算法虽然非常厉害,但存在缺陷,即可通过撞库解密

#加盐
password = 'alex3714'
m = hashlib.md5()
m.update(password.encode('utf-8'))
passwd_md5 = m.hexdigest()
print(passwd_md5)

password = 'alex3714'
m = hashlib.md5('lalala'.encode('utf-8'))
m.update(password.encode('utf-8'))
passwd_md5 = m.hexdigest()
print(passwd_md5)



#python还有一个hmac模块,它内部对我们创建key和内容进一步的处理然后再加密
#必须要保证初始的key一样,输出的结果才相同
import hmac
h = hmac.new('alvin'.encode('utf-8'))
h.update('hello'.encode('utf-8'))
print(h.hexdigest())
原文地址:https://www.cnblogs.com/wangmengzhu/p/7364027.html