【发布时间】:2015-02-24 10:55:15
【问题描述】:
这是我使用pickle的python密码系统。我知道这很糟糕,但这是我第一次吃泡菜。
import pickle
import os
userlist = {'user1':'userpass1', 'user2':'userpass2'}
users = open ("users.pkl", 'wb')
pickle.dump (userlist, users)
username = input ("Enter your username: ")
password = input ("Enter your password: ")
if (username in userlist) and (password == userlist[username]):
print ("Access Granted")
else:
newaccount = input ("User not found. Shall I create a new account? ")
if newaccount == "yes":
username = input ("Please enter your username: ")
password = input ("Please enter yout password: ")
userlist.update({username:password})
pickle.dump (userlist, users)
users.close()
我的问题是,每当我去添加一个新帐户时,使用这部分:
newaccount = input ("User not found. Shall I create a new account? ")
if newaccount == "yes":
username = input ("Please enter your username: ")
password = input ("Please enter yout password: ")
userlist.update({username:password})
pickle.dump (userlist, users)
users.close()
它似乎添加了它(看起来它在使用记事本的泡菜文件中)但是,我重新启动 python 文件,它没有看到它。
我认为这与这部分有关:
userlist = {'user1':'userpass1', 'user2':'userpass2'}
users = open ("users.pkl", 'wb')
pickle.dump (userlist, users)
感谢任何帮助! :D
【问题讨论】:
-
密码属于一个非常特殊的类别。即使是简单的事情也应该以不同的方式使用密码,例如,不要以纯文本形式存储它们,不要在源代码中对密码进行硬编码。
-
我知道,但这是给学校的 - 没必要。
标签: python dictionary pickle