使用py-postgresql加密密码

时间:2013-01-02 15:55:29

标签: python py-postgresql

在python中

我可以使用以下代码连接PostgreSQL数据库:

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

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

亲切的问候。

1 个答案:

答案 0 :(得分:0)

DB-API的工作方式是提供明文密码。此外,py-postgresql不进行密码散列/验证,服务器会将其作为连接握手的一部分(请参阅pg_hba.conf,了解其执行方式/原因)。

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