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'))  #加盐
#############################################################加盐使摘要算法更复杂,避免被撞库

市面上很多使用密码登录都是摘要算法做过加密的,服务端也看不到用户的密码,所以只能重置密码,而不会告诉用户原密码

原文地址:https://www.cnblogs.com/mu-tang/p/14164850.html