本文主要是介绍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)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!