我想隐藏密码,但我不知道如何。我看过show="*"
和getpass
,但我不知道如何将它们放入此代码中。我正在使用Python 2.7.3并在Raspberry Pi上编码。
ans = True
while ans:
print("""
-------------
| 1. Shutdown |
| 2. Items |
-------------
""")
ans=raw_input("""
Please Enter A Number: """)
if ans == "1":
exit()
elif ans == "2":
pa=raw_input("""
Please Enter Password: """)
if pa == "zombiekiller":
print("""
----------------
| 1. Pi password |
| 2. Shutdown |
----------------
""")
pe=raw_input ("""
Please Enter A Number: """)
if pe == "1":
print ("""
Pi's Password Is Adminofpi""")
import time
time.sleep(1)
exit()
elif pe == "2":
exit()
else:
print("""
You Have Entered An Inccoredt Option. Terminating Programm""")
import time
time.sleep(1)
exit()
else:
print("""
You Have Entered An Inccorect Password. Terminating Programm""")
import time
time.sleep(1)
exit()
答案 0 :(得分:53)
getpass
隐藏输入,只需在导入模块raw_input
后替换getpass
,如下所示:
import getpass
.
.
.
pa = getpass.getpass()
答案 1 :(得分:-1)
使用Python的hashlib库获取输入的MD5哈希值,并将其与脚本中的密码的哈希值进行比较。 Here's一个如何做到这一点的例子。
答案 2 :(得分:-2)
永远不要将userId和密码存储在源文件中,这是安全漏洞!
将它们存储在一个文本文件中,并使用一些对称密钥加密(至少MD5,或目前建议的最低标准,SHA-3)对它们进行加密,以对密码进行编码。
结果看起来像是:
:管理员:$ 1 $ DQX / Wdy5 $ QQrH98XjvFBOm6vqu3qN / 1 ::管理员:管理员:changeme@example.com:
在您的代码块中,您读取文件并使用相同的算法来解密密码。