其他分享
首页 > 其他分享> > 把登录与注册的密码都换成密文形

把登录与注册的密码都换成密文形

作者:互联网

'''把登录与注册的密码都换成密文形式'''
import hashlib
import json
json_res = json.dumps({"phoebe":"pheobe123456","ella":'ella987'})
with open("test.json",mode='wt',encoding='utf-8') as f:
f.write(json_res) # 先写入一部分文件

def regist():
print('账号在注册中')
name = {} # 存一个空的字典
while True:
user = input("请输入你要注册的账号名")
with open("test.json",mode='rt',encoding='utf-8') as f:
name.update(json.load(f)) # 给name空字典加上读取出来json文件里面的内容
print(name.keys()) # 读出json文件里的内容
if user in name.keys(): # 判断输入的账号是否在test.json文件里用in
print('账号已存在,请重新输入')
continue
while True: # 直到完成了才会跳出一直循环里
password1 = input("请输入密码")
password2 = input("请再次确认密码")

if password1 != password2:
print('两次密码错误请重新输入')
name.update({user:password1}) # 密码都输入成功后把uesr和password一起添加在空字典里
with open("test.json",mode='wt',encoding='utf-8') as f:
m = hashlib.md5(password1.encode('utf-8'))
m.update("小可爱".encode('utf-8')) # 给密码加盐
password1 = m.hexdigest()
print(password1) # 最后哈希加密过的密码
# f.write("{}:{}".format(name,password1)) #通过文件写入最后的name和哈希加过的密码
json.dump(name,f) # 用dump是对于文件操作的处理!!!
print('恭喜注册成功')
return
# continue # 想再次重复操作加上break跳出此次的条件


regist()


def login():
user = input('请输入账号名字')
with open("test.json",mode="rb") as f:
# json_res= f.read() # 读取出来json文件里的内容给到json_res
name = json.load(f) # 在使用反序列化读出给到name
if user in name:
password = input('请输入密码:')
m = hashlib.md5(password.encode('utf-8'))
m.update('小可爱'.encode(('utf-8')))
userpwd = m.hexdigest() # 加盐
if userpwd == userpwd:
print('登录成功')
else:
print('密码错误')
else:
print('账号错误')


login()

标签:password1,utf,name,登录,密码,json,换成,密文,print
来源: https://www.cnblogs.com/weiweiluodan/p/16471469.html