Python 基于内存实现用户注册、登录系统(加密方式)

import sys
import hashlib


# 用来存储所有的用户信息
users = []
slat = "liujianhong!@#$%^&*()_+-"


def password_by_md5(password):
	md5 = hashlib.md5(password.encode("utf-8"))
	# 盐值
	md5.update(slat.encode("utf-8"))
	return md5.hexdigest()


def main():
	print("~*" * 20)
	print("")
	print("\t\t 1、用户注册\n")
	print("\t\t 2、用户登录\n")
	print("\t\t 3、退出系统\n")
	print("~*" * 20)

	choice = input("请输入您要操作的选项:")
	return choice


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


def is_login(username, password):
	for i in users:
		if i.get("username") == username and i.get("password") == password:
			print("登录成功")
			return True
	return False


def register():
	username = input("请输入您的用户名称:")
	password = input("请输入您的用户密码")

	# 校验数据
	if username == None or username.strip() == "":
		print("对不起,用户名不能为空")
		return

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

	# 判断该用户是否存在
	if exists_user(username):
		print("对不起,该用户已经存在,请重新输入!!")
		return
 
	# 组建成一个字典对象
	user = {}
	user["username"] = username
	user["password"] = password_by_md5(password)
	users.append(user)
	print(users)


def login():
	username = input("请输入您的用户名称:")
	password = input("请输入您的用户密码")

	# 加密密码
	password = password_by_md5(password)
	if is_login(username, password):
		print("恭喜你,登录成功")
	else:
		print("对不起,登录失败,请重新登录")


while True:
	choice = main()
	if choice == "1":
		register()

	elif choice == "2":
		login()
	else:
		print("程序正常退出")
		sys.exit(0)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值