安全 Python 登录

Secure Python Login

我一直在尝试在我一直在使用的 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()

首先,让我先说明一下,特别是如果您是初学者,尝试为任何 public 实现自己的 login/security 代码通常不是一个好主意] 并且非常需要安全。

话虽如此,隐藏实际密码的一般方法是存储密码的哈希值(例如 SHA-1),而不是密码本身。然后您可以安全地将哈希值存储在任何您喜欢的地方(例如数据库、文本文件等) 在 python 中,您可以使用 hashlib 之类的东西来做到这一点,例如

import hashlib

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

当您根据存储的密码进行验证时,您会获取用户输入的哈希值并将其与存储的哈希值进行比较。如果它们相同,则密码正确。

再次重申,对于任何严肃的安全性,请使用众多可用框架中的一种,因为它们已经过许多人的测试。

你应该试试这个代码

list1 = ('Password is Correct...' , 'Password is Incorrect' , 'Closing Python...','Hello',
         '''Press Enter to Continue...''', 'Closing Python...' , 'badger123',
         '''Please Enter Your Name: ''', 'Please Enter Your Password: ')

name = input(list1[7])

password = input(list1[8])
if password == list1[6]:
    print(list1[0])
else:
    print(list1[1])
    exit()

import time
time.sleep(0)
input(list1[4])
time.sleep(0)




print (list1[3] , name)



import time

time.sleep(1)

print (list1[5])

import time

time.sleep(5)

input (list1[4])

exit()