我可以对psycopg2使用md5身份验证吗?

2024-05-20 03:48:48 发布

您现在位置:Python中文网/ 问答频道 /正文

在阅读了两个小时的文档、源代码和帮助线程之后,我放弃了。我无法让psycopg2使用md5字符串进行身份验证。根据this线程,除了在pg_hba.conf中启用md5auth之外,我不需要做任何事情。在

这是我当前的pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               md5
host    all         all         127.0.0.1/32          md5
host    all         all         ::1/128               md5
host    all         all         0.0.0.0/0             md5

我这样使用psycopg2:

^{pr2}$

它给出了:

psycopg2.OperationalError: FATAL:  password authentication failed for user "me"

当然,给定的密码与pg匹配_authid.rolpassword. 在

根据pg_hba.conf我只能使用md5auth登录(对吗?)。尽管如此,我的未删减的密码工作得很好(hashed则不行),而且我无法在源代码中找到对psycopg2进行哈希处理的任何引用。在

帮忙吗?在

谢谢!在


Tags: 字符串文档身份验证host密码源代码confall
1条回答
网友
1楼 · 发布于 2024-05-20 03:48:48

Psycopg2 is a wrapper around libpq,即Postgres客户端库,它已经实现了这一点。不需要散列你的密码。它将在通过线路发送之前(由libpq)进行哈希处理。在


值得注意的是,libpq实际上发送的MD5和是您的用户名加上的,MD5和是用共享连接常量salt的MD5和(参见the source here)。复制这种行为需要一些工作。在

相关问题 更多 >