在阅读了两个小时的文档、源代码和帮助线程之后,我放弃了。我无法让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进行哈希处理的任何引用。在
帮忙吗?在
谢谢!在
Psycopg2 is a wrapper around libpq,即Postgres客户端库,它已经实现了这一点。不需要散列你的密码。它将在通过线路发送之前(由libpq)进行哈希处理。在
值得注意的是,libpq实际上发送的MD5和是您的用户名加上的,MD5和是用共享连接常量salt的MD5和(参见the source here)。复制这种行为需要一些工作。在
相关问题 更多 >
编程相关推荐