安全的Python登录

时间:2015-01-16 22:56:35

标签: 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()

2 个答案:

答案 0 :(得分:1)

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

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

import hashlib

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

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

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

答案 1 :(得分:0)

您应该尝试此代码

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()