Python 这是正确的密码吗?

Python 这是正确的密码吗?,python,passwords,Python,Passwords,我想写一段代码,检查提交的密码是否正确。假设密码是编程很有趣 我已经做了一段时间了,不知道如何检查密码。这是迄今为止我从用户提交中得到的: if os.environ['REQUEST_METHOD'] == 'POST': if ('user_pw' in request) and request["user_pw"].value.strip != '': #user_pw must match password from above password ==

我想写一段代码,检查提交的密码是否正确。假设密码是编程很有趣

我已经做了一段时间了,不知道如何检查密码。这是迄今为止我从用户提交中得到的:

if os.environ['REQUEST_METHOD'] == 'POST':
    if ('user_pw' in request)  and request["user_pw"].value.strip != '':
    #user_pw must match password from above
        password == request["user_pw"].value
    else:
        errors.append('Password not correct')

有什么建议吗?谢谢

if语句检查的所有内容都是“user_pw”是否在请求中或是否为空。但是
password==request[“user_pw”].value
部分不会返回任何内容,因为它没有条件。尝试将if语句置于其周围,如下所示:

if os.environ['REQUEST_METHOD'] == 'POST':
    if ('user_pw' in request)  and request["user_pw"].value.strip != '':
        #user_pw must match password from above
        if(password == request["user_pw"].value): 
            #success 
        else:
            errors.append('Password not correct')
    else:
        errors.append('You didn\'t input a password')
注意:我不确定最后一部分,只是以防万一。
此外,如果该检查不起作用,请尝试打印
请求[“user_pw”].value的内容,如果没有值,则尝试
value()

如果提交的密码==“programmingisfun”:..
尽管这是一种非常糟糕的密码管理策略。另外,请记住,
=
是赋值/绑定,而
=
是相等的-检查您的代码。行
密码==request[“user_pw”]。值
不起任何作用。。它的计算结果为True或False,但没有分配给变量,因此该值会丢失。@SethMMorton那么这会更好吗<代码>如果('user_pw'在请求中)和请求[“user_pw”].value.strip!=''密码==request[“user_pw”]。值:@user2246674我完全同意这是一个错误的密码。不应该在某个地方进行哈希处理,因为除非对密码变量进行哈希处理,否则它看起来像是以纯文本形式存储的。使用此方法时,我会收到500个内部服务器错误。我觉得这应该是正确的,但我不知道…我用
请求[“user_pw”].value()尝试了它,但仍然不起作用。你是在用django还是类似的东西?可能导致它的原因与服务器有关,比如请求之类的。没有django。刚刚加载到我学校的服务器上。它是否返回了某种错误,可以给我一个想法?你是否改变了“成功”来做一些事情?500也可能是编译错误。尝试从命令行运行脚本,看看是否出现错误。