0
点赞
收藏
分享

微信扫一扫

python hashlib模块加密

西风白羽 2022-01-12 阅读 73

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值:
在这里插入图片描述
可以看到是一致的。

举报

相关推荐

0 条评论