【发布时间】:2018-06-13 14:46:32
【问题描述】:
我目前正在用 Python 编写一个程序,询问您是否登录。如果没有,他们会继续创建用户名和密码。如果是,他们登录并对照文本文件检查他们的详细信息。文本文件如下所示(用户名然后密码):
whitehallj27
EXpass%20
Username2
EXPASSWORD%%%
james_27
password1234
我试图找出一种尽可能简单的编程方法。它似乎有效,但并不像我想象的那么简单,也没有真正发挥作用。这是代码sn-p:
logins={}
usernames_passwords=open("UsernamesAndPasswords.txt","r")
count=0
for line in usernames_passwords:
count=count+1
count=count/2
usernames_passwords.close()
usernames_passwords=open("UsernamesAndPasswords.txt","r")
try:
for x in range(count):
username=usernames_passwords.readline()
password=usernames_passwords.readline()
logins[username]=password
except TypeError:
count=int(count+0.5)
for x in range(count):
username=usernames_passwords.readline()
password=usernames_passwords.readline()
logins[username]=password
usernames_passwords.close()
print(logins)
另外,我将如何验证用户名和密码以检查其正确性。
非常感谢, 詹姆斯·达克斯伯里
【问题讨论】:
-
我真的希望这是一些家庭作业,因为这样存储密码是一个非常、非常、非常糟糕的主意
-
正如 CBredlow 所提到的,密码从不以明文形式存储。即使存储密码的未加盐哈希也充满危险,但这是一个很好的起点。
-
我的意思是,如果您选择这样做,为什么不将它们作为某种字典/元组存储在文本文件中并读入。
-
并没有像我想象的那样真正发挥作用请解释你想要它做什么,以及它正在做什么。不要只是告诉我们“它不起作用”。
标签: python file dictionary io simplify