使用python实现一个简单的登录系统

1.请设计一套带有界面的可以注册,登陆的程序,界面如下:
大**大大大* *大 大
1.注册
2.登陆
大大大大大大大大大大
请输入序号选择功能
当用户注册时,需要将用户的账户密码以键值对的形式保存在password.txt中一行一个键值对 (可以使用f.writeline()实现),如:openlab:4297f44b13955235245b2497399d7a93openlab2:5771e6c0b9e0166ee62aef199a6cd3f6当用户登录时,需要读取password.txt中的账户密码进行比对 (按行读取可以使用f.readline()),账户密码都相同则登陆成功

import hmac

def zhuCe():
    salt = "@#$jskd"
    n = input("请输入账户")
    f = open("password1.txt", mode="a")
    f.write(n+"n")
    f.close()
    m = input("请输入密码")
    md5 = hmac.new(m.encode("utf-8"), salt.encode("utf-8"), "md5")
    y = md5.hexdigest()
    f = open("password1.txt", mode="a")
    f.write(y+"n")
    f.close()
    print("账户创建完毕请登录")
    dengLu()


def dengLu():
    salt = "@#$jskd"
    n = str(input("请输入您的账户"))
    m = str(input("请输入您的密码"))
    md5 = hmac.new(m.encode("utf-8"), salt.encode("utf-8"), "md5")
    m2 = md5.hexdigest()
    f = open("password1.txt", mode="rt")
    l = f.readline().replace("\n","")
    while True:
        if l == n:
            f = open("password1.txt", mode="rt")
            l = f.readline().replace("\n","")
            while True:
                if l == m2:
                    print("登录成功")
                    break
                else:
                    l=f.readline().replace("\n","")
            break
            f.close()
        else:
            l=f.readline().replace("\n","")
            if not l:
                print("账户或密码错误错误")
                break
    f.close()
#
#
i = int(input("如果您想登录请按1,如果注册请按2"))
if i == 1:
    dengLu()
elif i == 2:
    zhuCe()

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,设计一个安全登录系统可以分为以下几个步骤: 1. 设计数据库:登录系统需要一个数据库来存储用户的账号和密码信息。可以使用MySQL、PostgreSQL等关系型数据库或者MongoDB等非关系型数据库。 2. 创建用户界面:用户需要一个界面来输入账号和密码。可以使用Python的GUI库如Tkinter、PyQt等创建一个简单的窗口。 3. 实现用户认证:用户输入账号和密码后,需要对其进行认证。可以使用加密算法如MD5、SHA-256等来加密密码,然后将加密后的密码与数据库中的密码进行比对,以确定用户的身份。 4. 实现安全性措施:为了防止恶意攻击,可以实现安全性措施如限制登录尝试次数、设置密码复杂度要求、使用验证码等。 以下是一个使用Python Flask框架实现简单登录系统的代码示例: ``` from flask import Flask, render_template, request, session, redirect, url_for import hashlib app = Flask(__name__) app.secret_key = 'your_secret_key' @app.route('/', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = hashlib.sha256(request.form['password'].encode()).hexdigest() # 查询数据库中是否存在该用户 # 如果存在,则将用户信息存入 session # 如果不存在,则返回登录页面并提示错误信息 return redirect(url_for('home')) else: return render_template('login.html') @app.route('/home') def home(): # 判断用户是否已经登录,如果没有则返回登录页面 # 如果已经登录,则返回主页 if __name__ == '__main__': app.run() ``` 在以上代码中,我们使用了Flask框架来实现一个简单登录系统。在登录时,我们使用了SHA-256加密算法来加密用户输入的密码,并将其与数据库中的密码进行比对。如果密码匹配,则将用户信息存入session中,否则返回登录页面并提示错误信息。在主页中,我们判断用户是否已经登录,如果没有则返回登录页面,如果已经登录,则返回主页。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值