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()
作者:墨颜丶—— 在南方的北方少年郎
签名:当你的才华还撑不起你的野心的时候,你就应该静下心来学习
出处:http://www.cnblogs.com/moyand/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。