用户登录

# !/usr/bin/env python
# -*- coding:utf8 -*-
import hashlib


def login(username, pwd):
    with open("user.db", 'r', encoding='utf-8') as f:
        while True:
            line = f.readline()
            if line:
                user, password = line.strip().split("|")
                if user == username and md5(pwd) == password:
                    return True
            else:
                break
        return False


def checkusername(username):
    with open('user.db', 'r') as f:
        while True:
            content = f.readline()
            if content:
                user = content.strip().split('|')[0]
                if user == username:
                    return True
            else:
                break
        return False

    # with open('user.db', 'r') as f:
    #     lines = f.readlines()
    #
    # for line in lines:
    #     print(line.strip())
    #     user = line.strip().split("|")[0]
    #     if user == username:
    #         return True
    #     else:
    #         return False

    # with open('user.db', 'r', encoding='utf-8') as f:
    #     for line in f:
    #         user = line.strip().split("|")[0]
    #         if user == username:
    #             return True
    #         else:
    #             return False


def register(username, pwd):
    with open('user.db', 'a+', encoding='utf-8') as f:
        temp = "
" + username + "|" + md5(pwd)
        f.write(temp)


def md5(pwd):
    hash = hashlib.md5(bytes('888888', encoding='utf-8'))
    hash.update(bytes(pwd, encoding='utf-8'))
    return hash.hexdigest()


print("PLS select the function, 1: 登录; 2:注册")
sel = input("Your Choose: ")

username = input("Username: ")
pwd = input("Password: ")

if sel == "1":
    log_ret = login(username, pwd)
    if log_ret:
        print("登录成功")
    else:
        print("登录失败")

elif sel == "2":
    # ret = False
    ret = checkusername(username)
    if ret:
        print("Username 已经存在,不予注册。")
    else:
        register(username, pwd)
原文地址:https://www.cnblogs.com/xuwenwei/p/14402793.html