md5
认证方法 md5。
当前查看 PostgreSQL 18。
中文定义与说明
认证方法 md5。
- 索引访问方法
md5- 配置
pg_hba.conf
同版本中文手册定义
方法 md5 使用一种自定义的、安全性较低的挑战-响应机制。它能防止密码嗅探,并避免在服务器上以明文存储密码;但如果攻击者设法从服务器上窃取了密码 hash,它就无法提供保护。此外,如今已不再认为 MD5 hash 算法能抵御有决心的攻击者。
为了简化从 md5 方法到较新的 SCRAM 方法的转变,如果在 pg_hba.conf 中指定了 md5 但是用户在服务器上的密码是为 SCRAM(见下文)加密的,则将自动选择基于 SCRAM 的认证。
警告
对 MD5 加密密码的支持已弃用,并将在 PostgreSQL 的未来版本中移除。迁移到其他密码类型的详细信息见下文。
说明
认证方法 md5。
- 方法
- md5
- 配置
- pg_hba.conf
- 清单
- 用户可见的源码认证方法
手册中的方法选项与替代方式
| 选项或术语 | 含义 |
|---|---|
| scram-sha-256 | scram-sha-256 方法执行 SCRAM-SHA-256 认证,其定义见 RFC 7677 。它是一种挑战-响应方案,可防止在不受信任连接上嗅探密码,并支持在服务器上以被认为安全的密码学 hash 形式存储密码。 这是当前提供的方法中最安全的一种,但是旧的客户端库不支持这种方法。 |
| md5 | md5 方法使用自定义且安全性较弱的挑战响应机制。它能防止密码嗅探,避免服务器明文存储密码;但攻击者一旦窃取服务器上的密码哈希,就无法提供保护。此外,MD5 哈希算法如今已不再被认为能安全抵御有针对性的攻击。为便于从 md5 迁移到较新的 SCRAM 方法,如果 pg_hba.conf 中指定 md5,但服务器上该用户的密码采用 SCRAM 加密存储(见下文),系统会自动改用基于 SCRAM 的认证。警告:对 MD5 加密密码的支持已弃用,将在 PostgreSQL 的未来版本中移除。迁移到其他密码类型的方法参见下文。 |
| password | 方法 password 以明文形式发送密码,因此它容易受到密码 “ 嗅探 ” 攻击。如果可能应该尽量避免使用它。不过,如果连接被SSL加密保护着,那么可以安全地使用 password (不过如果依靠SSL,SSL证书认证可能是更好的选择)。 |
文档与源码
来源构建
- 版本
- 18.6
- 构建
- https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 来源指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
版本比较
PostgreSQL 17 → 18: 无变化。
比较已记录的接口与属性,排除来源指纹和构建元数据。某个样本中没有记录,不能据此判断实际引入或移除的版本。
相关条目
导出 JSON · 返回认证方法 · 收录范围为 PostgreSQL 10 至 20;最早采样版本不一定是实际引入版本。