【发布时间】:2020-06-09 17:48:55
【问题描述】:
我正在尝试创建一个登录系统。用户创建他们的帐户并输入他们想要使用的用户名和密码。
用户名存储在新文本文件的第 1 行。
密码存储在文本文件的第 2 行。
现在我打开文件并使其可读
user_file = open("user1.txt", "r")
然后我让用户输入之前创建的用户名。
username_login = input("Enter username ")
现在我想检查提交的用户名是否是存储在第 1 行的用户名
if user_file.readline(1) != username_login:
print("Incorrect username")
else:
password_login = input("Enter Password ")
如果提交的用户名正确,它将匹配第 1 行,因此打印 else 语句。但相反,我总是收到“不正确的用户名”反馈
【问题讨论】:
-
关于这是一种非常不安全的创建登录系统的方式的强制性评论。您永远不想以纯文本形式存储用户凭据。如果这是任何产品而不只是学术练习,请在存储密码之前先对密码进行哈希处理,然后将用户输入的哈希值与您存储的哈希值进行比较。
-
是的,这是一个学术练习,但我期待在完成后学习如何散列密码,以便改进程序
标签: python python-3.x authentication readline readlines