Python教程

Python 实现用户登录系统 案例一(基于hashlib & sys)

本文主要是介绍Python 实现用户登录系统 案例一(基于hashlib & sys),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Python 实现用户登录系统 案例一(基于hashlib & sys)

  • 基于hashlib 库MD5算法对用户密码进行加密
  • 用户名和密码信息存储在内存中
import sys
import hashlib

"""
    实现一个用户登录系统,用户可以输入用户面进行用户的注册、用户的登录、退出系统等操作。
    为了安全起见,引入hashlib中的MD5算法对用户密码进行明文加密。
"""


users = []
slat = "'zhangwanqiangR%BIYGGF#BUYybjuhunBYGBnnB)((*&&^%$$#$%Y(B~!~`'"

def users_password_md5(user_password):
    user_password_md5 = hashlib.md5(user_password.encode("utf-8"))
    # 密码信息盐值混淆
    user_password_md5.update(slat.encode("utf-8"))
    return user_password_md5.hexdigest()

def main():
    print("~*" *25)
    print()
    print("\t\t\t\t\t用户登录系统")
    print()
    print("\t\t\t\t\t1、用户注册")
    print("\t\t\t\t\t2、用户登录")
    print("\t\t\t\t\t3、退出系统")
    print()
    print("~*" * 25)

    user_chioce = input("请输入您的选择:")
    return user_chioce

def is_exist_user(username):
    for usr in users:
        if usr.get("username") == username:
            return True
    return False

def is_login(user_name, user_password):
    for i in users:
        if i.get("username") == user_name and i.get("userpassword") == user_password:
            return True
    return False


def register():
    user_name = input("请输入您的用户名:")
    user_password = input("请输入您的用户密码:")

    if user_name == None or user_name.strip() == "":
        print("对不起,用户名不能为空")
        return

    if user_password == None or user_password.strip() == "" or len(user_password) < 3:
        print("对不起,用户密码长度不能小于3位")
        return

    if is_exist_user(user_name):
        print("该用户已经存在")

    # 组件一个字典对象
    user = {}
    user["username"] = user_name
    user["userpassword"] = users_password_md5(user_password)
    print(user)
    # 将字典追加进列表
    users.append(user)
    print(users)

def login():
    user_name = input("请输入您的用户名:")
    user_password = input("请输入您的用户密码:")
    # 对用户输入的密码进行DM5加密
    user_password = users_password_md5(user_password)
    if is_login(user_name, user_password):
        print("恭喜您登录成功")
    else:
        print("对不起,您输入的用户名、密码有误!!!")
        print("请您重新登录!")


while True:
    chioce = main()
    if chioce == "1":
        print("用户注册")
        register()
    elif chioce == "2":
        print("用户登录")
        login()
    elif chioce == "3":
        print("退出系统")
        sys.exit(0)
这篇关于Python 实现用户登录系统 案例一(基于hashlib & sys)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!