Discuss / Python / 注册时按ctrl + c可以停止循环输入

注册时按ctrl + c可以停止循环输入

Topic source
# do_register.py
import json, os, hashlib

dbpath = 'db.json'
def register(username, password):
    db = {}
    if os.path.exists(dbpath):
        with open(dbpath, 'r') as f:
            db = json.load(f)
    db[username] = get_md5(username, password)
    with open(dbpath, 'w') as f:
        json.dump(db, f)

def get_md5(username, password):
    pw = password + username + 'the-Salt'
    md5 = hashlib.md5()
    md5.update(pw.encode('utf-8'))
    return md5.hexdigest()

def toRegister():
    while True:
        username = input('请输入用户名: ')
        password = input('请输入密码: ')
        register(username, password)

if __name__ == '__main__':
    toRegister()

# do_login.py
import json, os, hashlib
from do_register import get_md5

def login(username, password):
    with open('db.json', 'r') as f:
        db = json.load(f)
    hash = get_md5(username, password)
    if db[username] == hash:
        print('登陆成功')
    else:
        print('用户名或密码错误')

def toLogin():
    print('欢迎登陆')
    username = input('请输入用户名: ')
    password = input('请输入密码: ')
    login(username, password)

if __name__ == '__main__':
    toLogin()

  • 1

Reply