由于某些奇怪的原因,我的代码将无法在笔记本电脑上的Visual Studio中运行。它给我的脚本错误。我做错了吗?
我得到的错误是:
print("welcome user")
varpassword = input("Please enter a password: ")
if varpassword = "thisisthepassword123":
print("Welcome")
else:
print("access denied")
答案 0 :(得分:2)
正如其他人指出,您的条件语句应该使用==
运算符(表示您正在比较这两个值以查看它们是否相等)而不是=
指定值变量。
if varpassword = "thisisthepassword123":
我只想补充一点,你应该避免使用硬编码的密码值,特别是在python中,因为它是纯文本(除非这只是示例代码)
修改强>
使用散列算法代替散列密码,然后对用户输入进行散列并进行比较。因此,您可以通过类似SHA1的密码输入密码(如果您想使用类似"thisisthepassword123"
的硬编码值,则其值为f61c1bbcf1f7d68106a18bd753d4fc3c4925793f
。因此使用类似{的库{1}}(https://docs.python.org/2/library/hashlib.html)你可以这样做:
hashlib
另请考虑使用腌制,请阅读:https://crackstation.net/hashing-security.htm
编辑2:
还要确保脚本中的缩进与代码段的缩进相匹配
答案 1 :(得分:0)
请添加==以比较=用于分配