如何使用 pgcrypto 测试通过(使用 realm - digethashmethod)

how to test pass with pgcrypto (with realm - digesthashmethod)

我尝试使用 pgcrypt

检查密码

我只能用两种方法(数据库限制)

我可以用第一种方法:

SELECT crypt('mypass',value)=value FROM passwords where person=1

但我必须将方法更改为第二种方法 - HtDigestHashMethod

数据库中的密码看起来像(已更改 - 不是真实密码):

first method: uXifOBs5A0l6w
second method: myrealm:8f24d836943973c5c3e47bd909080b49

如何使用 myrealm 检查密码

解决方法:

你必须像这样创建散列:

md5('User Name:myrealm:mypass')

所以我的 phpcode 看起来像:

$sqlQuery="SELECT 'myrealm:'".md5('$username:myrealm:$password')."'=value FROM passwords WHERE person=1";