python密码加密小案例

本文介绍了一个基于Python的用户注册和登录系统,使用MD5加密算法和盐值增加密码安全性,实现用户信息存储和验证功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import sys
import hashlib
#用来存储所有用户的信息,一个list列表
users=[]
#密码要加的盐值
slat="wangxing@!ijjji***()+-+*"
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 password_by_md5(password):
	#获取一个md5对象
	md5=hashlib.md5(password.encode("utf-8"))
	#盐值混淆
	md5.update(slat.encode("utf-8"))
	#返回一个十六进制加密的密码
	return md5.hexdigest()
def is_login(username,password):
	for i in users:
		if username==i.get("username") and password==i.get("password"):
			return True
		else:
			return False
def exist_user(username):
	for i in users:
		if i.get("username")==username:
			return True
	return False
def login():
	username=input("请输入用户名")
	password=input("请输入密码")
	password=password_by_md5(password)
	if is_login(username,password):
		print("登录成功")
	else:
		print("登录失败,用户名或者密码错误")
def regist():
	username=input("请输入用户名")
	password=input("请输入密码")
	if password==None or password.strip()=="" or len(password)<3:
		print("密码输入不合法")
	if username==None or username.strip()=="" :
		print("用户名输入不合法")
	if exist_user(username):
		print("用户名已经存在,登录")
		return
	#创建一个字典的对象
	user={}
	user["username"]=username
	user["password"]=password_by_md5(password)
	#往列表里面添加元素
	users.append(user)
	print(users) 
while(True):
	 choice=main()
	 if choice=="1":
	 	regist()
	 elif choice=="2":
	 	login()
	 else:
	 	print("输入错误,程序退出")
	 	#sys模块的系统退出
	 	sys.exit()


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值