【问题标题】:Retrieve PostgreSQL hash password from Python从 Python 中检索 PostgreSQL 哈希密码
【发布时间】:2021-02-02 19:25:54
【问题描述】:

我在某处遗漏了一些东西。我有以下 Python3 代码来插入用户和密码

INSERT INTO table_name (emailAddress, password) 
    VALUES(%s, crypt(%s, gen_salt('bf'))) 
    ON CONFLICT (emailAddress) DO NOTHING
    RETURNING memberId;

这似乎工作正常。它在数据库中插入了一个不错的散列密码,但我查看了此处(https://www.postgresql.org/docs/8.3/pgcrypto.html)并使用以下代码来检索它:

SELECT * from table_name 
    WHERE emailAddress='{email_addy}' 
    AND password=crypt('{password}', '{password}');

很明显,查询不断返回。有人可以指出我如何获得我想要的信息的方向吗?我猜哈希不匹配?

【问题讨论】:

    标签: python-3.x postgresql hash cryptography


    【解决方案1】:

    你两次给“crypt”同样的论据。

    您需要给它明文密码和哈希列。

    AND password=crypt('{password}', password);
    

    【讨论】:

    • 不错! @jjanes。那是确切的问题。我会更多地研究它,以确保我了解它实际上是如何工作的。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2010-09-28
    • 2019-04-07
    • 2014-01-02
    • 2019-07-24
    • 2012-07-07
    相关资源
    最近更新 更多