0

在 python 中,我可以使用以下代码连接 PostgreSQL 数据库:

db = postgresql.open(“pq://$user:$pass@$host:$port/$dbname”)

但在上面的行中,我必须输入明文密码,然后py-postgresql将其散列以与存储在 PostgreSQL 数据库中的散列值进行比较。如果我想使用MD5自己散列的密码,这意味着我不希望 py-postgresql 为我做散列。我该怎么做?我试图修改 的源代码py-postgresql,但我找不到散列发生在哪里。然后我在设置中找到py-postgresql我可以启用 SSL 模式。有人可以给我一个关于如何设置它的简单例子吗?

亲切的问候。

4

1 回答 1

0

DB-API 的工作方式是提供明文密码。此外,py-postgresql不进行密码散列/验证,服务器将其作为连接握手的一部分(请参阅pg_hba.conf如何/为什么这样做)。

如果您正在考虑保护密码的传输,请使用SSL连接协议而不是明文协议。该SSL模式还将加密服务器和客户端之间传输的所有数据。

于 2013-01-02T16:07:12.233 回答