用python写登入系统

1.引入hash算法
import hashlib
import json
import os


# 账户新是一个保存在文件中字典
def load_account(path):
    if os.path.exists(path):
        return json.load(open(path, "rt", encoding="utf-8"))
    else:
        return {}


# 将用户信息字典保存到硬盘中
def save_account(account_info, path):
    json.dump(account_info, open(path, "wt", encoding="utf-8"))


UI = """
1.注册
2.登陆
0.退出
"""

while True:
    print(UI)
    select = int(input("请输入你的选择:"))
    if select == 1:

        # 注册
        # 用输入账户密码,确认密码
        account = input("请输入账户:")
        dc = load_account("account.txt")
        if dc.get(account):
            print("该账户已存在,请重新注册")
        else:
            passwort = input("请输入密码:")
            confirm = input("请再次输入密码:")
            if passwort == confirm:
                # 密码加密
                hs_obj = hashlib.md5(passwort.encode())
                dc[account] = hs_obj.hexdigest()
                # 将账户密码保存到文件
                save_account(dc, "account.txt")
            else:
                print("前后两次密码输入不一致")
    elif select == 2:
        acc = input("请输入账号")
        dc = load_account("account.txt")

        if dc.get(acc):
            passwort = input("请输入密码")
            hs_obj = hashlib.md5(passwort.encode())
            if any(dc(acc) == hs_obj.hexdigest() for value in dc.values()):
                print("登陆成功")
            else:print("密码错误")
        else:print("账号错误")

    elif select == 0:
        sys.exit()

运行

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以通过 Python 的 Flask 框架来编一个简单的登陆系统。以下是一个简单的示例: ```Python from flask import Flask, render_template, request, redirect, url_for app = Flask(__name__) users = {'username': 'password'} @app.route('/', methods=['GET', 'POST']) def login(): error = None if request.method == 'POST': username = request.form['username'] password = request.form['password'] if username not in users: error = 'Invalid username' elif users[username] != password: error = 'Invalid password' else: return redirect(url_for('home')) return render_template('login.html', error=error) @app.route('/home') def home(): return "Welcome!" if __name__ == '__main__': app.run(debug=True) ``` 在这里,我们首先定义了一个 `users` 字典,其中包含用户名和相应的密码。我们使用 Flask 提供的 `render_template` 函数渲染了一个简单的登录页面,其中包含用户名和密码的输入框以及一个提交按钮。 在提交登录表单后,我们检查接收到的用户名和密码是否与我们存储在 `users` 中的相应内容匹配。如果用户名不在 `users` 中,我们将显示一个错误信息,如果密码不匹配,我们将显示另一个错误信息。如果用户名和密码都匹配,我们将重定向用户到主页。 在主页上,我们简单地返回一个欢迎信息。 这只是一个简单的示例,您可以根据自己的需求进行修改和扩展。另外,这种方法存在安全问题,因为密码以明文形式存储在代码中。更安全的方法是将密码存储为哈希值,并使用哈希值进行验证。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值