通过哈希算法,使用文件形式存储,进行用户的登录注册

本文介绍了使用Python的hashlib库实现MD5加盐哈希,并结合文件操作演示了登录验证过程。重点讲解了如何存储和验证用户密码,以及注册和退出功能。涉及技术包括密码加密、文件I/O和基本的用户管理逻辑。
摘要由CSDN通过智能技术生成
import hashlib

def hash_pwd(pwd:str):
    hash_obj=hashlib.md5('加盐'.encode('utf-8'))
    hash_obj.update(pwd.encode('utf-8'))
    return hash_obj.hexdigest()

def login():
    username=input("请输入用户名:")
    password=input("请输入密码:")
    with open('user','r',encoding='utf-8') as f:
        for i in f:
            user,pwd=i.strip().split('|')
            if user==username and pwd==hash_pwd(password):
                return print("登录成功!")
        register_sure=input("抱歉,你还没有注册,是否要注册?(0,注册)(其他,不注册)")
        if register_sure=='0':
            username = input("请输入用户名:")
            password = input("请输入密码:")
            register(username,password)
        else:
            return print("已退出!")
def register(username,password):
    with open('user','a+',encoding='utf-8') as f:
        f.write(username+'|'+hash_pwd(password)+'\n')
    return print("注册成功!")

if __name__ == '__main__':
    login()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值