hashlib加密用户认证
# 1、编写用户认证功能,要求如下 # 1.1、对用户密码加盐处理 # 1.2、用户名与密文密码存成字典,是以json格式存到文件中的 # 1.3、要求密用户输入明文密码,但程序中验证的是密文 import hashlib,os,json BASE_PATH=os.path.dirname(__file__) BASE_DB='%s/db' %(BASE_PATH) def entry(): name=input('输入你的账户: ').strip() passwd=input('输入你的密码: ').strip() BASE_NAME='%s/%s' %(BASE_DB,name+'.json') return name,passwd,BASE_NAME def mima(passwd2): m = hashlib.md5() m.update('墨颜 缔造非凡'.encode('utf-8')) m.update(passwd2.encode('utf-8')) m.update('666'.encode('utf-8')) passwd2 = m.hexdigest() return passwd2 def isdigit(): while True: name,passwd,BASE_NAME=entry() passwd=mima(passwd) if name.isalnum(): if os.path.isfile(BASE_NAME): print('%s用户已存在,请更换昵称!' %name) else: with open(BASE_NAME,'w+',encoding='utf-8') as f: dic={'name':name,'passwd':passwd} json.dump(dic,f) print('注册成功') break else: print('输入非法') return def denglu(): name,passwd,BASE_NAME = entry() if os.path.exists(BASE_NAME): with open(BASE_NAME,'r',encoding='utf-8') as f: f=json.load(f) passwd=mima(passwd) if f['passwd']==passwd: print('登录成功,888') else: print('密码错误') else: print('当前用户没注册') return def run(): choice = input('1、注册 \n2、登陆 \n>>> ').strip() if choice=='1': isdigit() elif choice=='2': denglu() else: print('输入非法') run()
作者: 墨颜丶
出处:https://www.cnblogs.com/moyand/p/8781562.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
分类:
Small program
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端