我一直在尝试在我一直在使用的python程序上进行安全登录,但是我尝试执行的所有操作似乎都无济于事。我需要一小段可放入脚本的代码。我的主要问题是,任何查看我的脚本的人都只能看到密码。另外,我不知道在输入密码时如何用星号代替字符。这是我的登录代码,非常基本,因为我几乎是一个初学者。

#login
import webbrowser as w
def username():
    print("Enter UserName")
    usrnm = input()
    if(usrnm == "example"):
        password()
    else:
        notusername()
 def notusername():
    print("Try Again")
    username()
 def password():
    print("Enter Password")
    pswrd = input()
    if(pswrd == "password"):
        w.open("www.example.net")
    else:
        notusername()
 username()

最佳答案

首先,让我开始说这句话,特别是如果您是初学者,尝试对任何公开的且严重需要安全性的东西实施自己的登录名/安全性代码通常不是一个好主意。

话虽这么说,隐藏实际密码的一般方法是存储密码的哈希(例如SHA-1),而不是密码本身。然后,您可以在任意位置安全地存储该哈希值(例如数据库,文本文件等)
在python中,您可以使用hashlib之类的方法进行操作,例如

import hashlib

sh = hashlib.sha1()
sh.update('password')
hash_value = sh.hexdigest()
# write hash_value to file/db...


当您针对存储的密码进行验证时,将用户输入的哈希值与存储的哈希值进行比较。如果它们相同,则密码正确。

同样,对于任何严格的安全性,请使用可用的许多框架之一,因为它们已经过许多人的测试。

关于python - 安全的Python登录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27994098/

10-16 03:16