我可以使用以下代码连接PostgreSQL数据库:
db = postgresql.open(“pq://$user:$pass@$host:$port/$dbname”)
但是在上面的行中我必须输入明文密码,然后py-postgresql
将对其进行散列以与PostgreSQL数据库中存储的散列值进行比较。如果我想自己使用MD5
散列的密码,这意味着我不希望py-postgresql为我做散列。我该怎么做?我试图修改py-postgresql
的源代码,但我找不到散列发生的位置。然后我在py-postgresql
的设置中找到我可以启用SSL模式。有人可以给我一个关于如何设置它的简单示例吗?
亲切的问候。
答案 0 :(得分:0)
DB-API的工作方式是提供明文密码。此外,py-postgresql
不进行密码散列/验证,服务器会将其作为连接握手的一部分(请参阅pg_hba.conf
,了解其执行方式/原因)。
如果您正在考虑保护密码的传输,请使用SSL
连接协议而不是明文协议。 SSL
模式还将加密服务器和客户端之间传输的所有数据。