2017-04-01 60 views
0

你好,我正在寻找一些帮助。所以对于一些背景,这些代码将被用作登录系统供个人使用。我试图让它检查只有一行,所以我可以得到它来验证用户名是正确的,或密码。我将如何做到这一点?我怎样才能让我的代码在文本文件中测试一行?

user = input("please Enter your full name: ") 
if os.path.isfile(user + ".txt"): 
    with open(user + ".txt", "r") 

     print("------------------------") 
     Username = input("|Username: ") 
     password = getpass.getpass("|Password: ") 
     print("------------------------") 

回答

0

好吧,如果你坚持在那么不安全的方式我想这样做你刚刚用它明文用户名和密码的文件。我明白,也许你对Python很熟悉,所以一种不安全的方法在某种程度上可以接受:P。下面的例子,

波什

密码

(文件中会有线之间没有间隙,如上图所示,他们将在连续线)

如果没有,那么我建议你做这是因为这是下面的代码部分将如何预期的。

submittedUsername = input("Please enter username: ") 
submittedPassword = input("Please enter password: ") 
credentialsFile = open("credentials.txt", "r") 
credentials = credentialsFile.readlines() 
username = credentials[0].rstrip("\n\r") 
password = credentials[1].rstrip("\n\r") 
if submittedUsername == username: 
    if submittedPassword == password: 
     print("Login verified!") 
     #both username and password verified here, do what you want 
    else: 
     #password incorrect 
     print("Login invalid") 
else: 
    #username incorrect but whether you want to specify what is wrong is up to you 
    print("Login invalid") 

如果您想要解释任何部分,请问。希望有所帮助。

+0

非常感谢您的帮助。我明白这是不安全的,你可以把我连接到任何地方,这将解释我可以如何使一个更安全的版本隐藏凭据等 –

+0

我的荣幸。是的,我很害怕,但听到你想改善它真是太好了。如果你愿意,我会考虑使用hashlib SHA-512对密码进行哈希处理。你可能想先看看这里http://pythoncentral.io/hashing-strings-with-python/我会说看看SHA 512,因为其他一些不再被认为是安全的。祝你好运。 :) P.S,请提出答案并将其标记为已接受。 – BoshJailey