从 Python 检索 PostgreSQL 哈希密码
Retrieve PostgreSQL hash password from Python
我在某处遗漏了一些东西。我有以下 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}');
很明显,查询总是毫无结果地返回。有人可以指出我如何获得我想要的信息的方向吗?我猜哈希不匹配?
您两次为“crypt”提供相同的参数。
您需要为其提供明文密码和哈希列。
AND password=crypt('{password}', password);
我在某处遗漏了一些东西。我有以下 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}');
很明显,查询总是毫无结果地返回。有人可以指出我如何获得我想要的信息的方向吗?我猜哈希不匹配?
您两次为“crypt”提供相同的参数。
您需要为其提供明文密码和哈希列。
AND password=crypt('{password}', password);