hashlib模块就是python集合了各种加密算法的一个模块,比如md5加密,sha算法等。当然主要的作用就是给数据加密或者计算文件的md5值等。
1.给一个字符串经过md5加密后输出到屏幕上:
import hashlib
f = hashlib.md5('222'.encode('utf-8'))
f.update('123456'.encode('utf-8')) #字节数据加密
print(f.hexdigest()) #输出一个十六进制md5值
#输出结果是等长度的
732f2bc0de187a37911697b6bbe2ddf2
2.将用户输入的密码转换成md5加密后的数值,并存放字典中。
import hashlib
username = input("请输入你的用户名:")
password = input("请输入你的密码:")
passwd_hash = hashlib.md5()
passwd_hash.update(password.encode('utf-8'))
passwd_md5 = passwd_hash.hexdigest()
# print(passwd_md5)
dict = {username:passwd_md5}
print(dict)
输出:
请输入你的用户名:aaa
请输入你的密码:123
{'aaa': '202cb962ac59075b964b07152d234b70'}
hashlib模块生成实例化对象的时候可以给需要加密的数据加盐,就是给加密数据后面都加上一个字符换后再进行加密:
import hashlib
f = hashlib.md5('222'.encode('utf-8')) #这一步给输入数据加上222后再加密
f.update('123456'.encode('utf-8'))
print(f.hexdigest())
3.文件一致性校验:
利用hashlib模块计算文件文本的md5值:
import hashlib
content = hashlib.md5()
with open('2021年7月6日空气质量状况.doc','rb') as f:
while 1:
s = f.read(1024)
if s:
content.update(s)
else:
break
ret_md5 =content.hexdigest()
print(ret_md5)
得到2021年7月6日空气质量状况.doc文件的md5值为:
用linux上的md5sum命令验证改文件的md5值:
可以看到是一致的。