在通常情况下,连接字符串包含纯文本的密码,但这可以被Wireshark捕获,所以我想在连接字符串中使用加密的密码。我从 Postgres 文档中找到了以下摘录:
跨网络加密密码MD5 身份验证方法在将密码发送到服务器之前在客户端对密码进行双重加密。它首先根据用户名对其进行 MD5 加密,然后根据建立数据库连接时服务器发送的随机盐对其进行加密。正是这个双重加密的值通过网络发送到服务器。双重加密不仅可以防止密码被发现,还可以防止其他连接稍后使用相同的加密密码连接到数据库服务器。
如果我理解正确的话,要获取盐,我需要连接到数据库,但这是否意味着密码可以被欺骗?
我尝试用谷歌搜索,但没有找到令人满意的解决方案。我想了解如何使用 java 从 PostgreSQL 服务器获取随机盐,然后用它加密纯密码并使用加密密码建立连接。