hashlib模块与摘要算法
摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串
只能加密不能解密
# import hashlib # md5 = hashlib.md5() #使用md5算法 # md5.update(b'af1455') #对字符串进行摘要算法 # print(md5.hexdigest()) #打印摘要后的数据串
使用同一个算法对同一个字符串摘要 得到的值永远不变
#随着算法的复杂 占用的空间越大
import hashlib
usr = input('username') pwd = input('password') with open('user') as f: for line in f: name,passd = line.split('|') md5 = hashlib.md5() md5.update(bytes(pwd,encoding ='utf-8' )) nae = md5.hexdigest() if name == usr and passd == nae: print('登陆成功') else:print('用户名或密码错误')
############## hashlib.md5(bytes('salt',encoding='utf-8')) #加盐
#############################################################加盐使摘要算法更复杂,避免被撞库
市面上很多使用密码登录都是摘要算法做过加密的,服务端也看不到用户的密码,所以只能重置密码,而不会告诉用户原密码