hashlib
hashlib是一个加密模块,提供了常见的摘要算法,如MD5,SHA1
MD5算法加密,检验数据完整性
所谓摘要算法,也可以称为:哈希算法,离散算法。即通过一个函数,将任意长度的数据转化为一个长度固定的数据串(通常16进制)
摘要算法:
摘要一样,内容就一定一样:保证唯一性
密文密码就是一个摘要
import hashlib def pwd_md5(pwd): md5_obj = hashlib.md5() #创建一个md5对象 str1 = '1234' md5_obj.update(str1.encode('utf-8')) #update中一定要传入bytes类型数据 sal = '加盐加盐' md5_obj.update(sal.encode('utf-8')) #为了防止撞库,加盐 res = md5_obj.hexdigest() #变成16进制 print(res) #验证 with open('user.txt','r',encoding='utf-8') as f: #打开文件 user_str = f.read() #读取文件 file_user,file_pwd = user_str.strip(':') #用户名,密码 切分 username = input("输入用户名:").strip password = input("输入密码:").strip if username == file_user and pwd_md5(password) == file_pwd: #将输入的md5加密,与文件里的相比 print("登陆成功") else: print("登陆失败")
file_user,file_pwd = user_str.strip(':')