当前位置: 代码迷 >> 综合 >> python密码加密小案例
  详细解决方案

python密码加密小案例

热度:49   发布时间:2023-10-31 16:22:47.0
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 Trueelse:return False
def exist_user(username):for i in users:if i.get("username")==username:return Truereturn 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"]=usernameuser["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()

 

  相关解决方案