SCRAM-SHA-256$<iterations>:<base64(salt)>$<base64(StoredKey)>:<base64(ServerKey)>
-- 在 psql 中直接设置密码(推荐)
ALTER ROLE someuser WITH PASSWORD 'your-plain-password';
-- 如果你要直接写入 pg_authid(非常不常见且危险),得到的 SCRAM 字符串示例:
-- SCRAM-SHA-256$15000:BASE64_SALT$BASE64_STOREDKEY:BASE64_SERVERKEY
在企业级数据库管理中,安全性是核心诉求:
pg_authid 系统表来重置用户密码时,必须提供预计算好的加密字符串。PostgreSQL 的加密逻辑与用户名(Role Name)深度绑定,本站 工具提供了两种主流方案:
SCRAM-SHA-256$ 开头,包含迭代次数、盐值和存储的 Key。这是当前及未来 PostgreSQL 版本的行业标准。md5(password + username)。md5 开头。虽然安全性弱于 SCRAM,但在旧版系统或特定驱动兼容性要求下仍广泛使用。输入用户名: 输入数据库中的角色名称(Role Name),如 postgres。注:MD5 算法必须依赖用户名。
输入明文密码: 输入您设定的原始密码。
选择加密类型:
生成结果: 点击“生成加密字符串”,结果将立即显示。
应用到 SQL: 复制生成的字符串,将其粘贴到如下 SQL 命令中:
ALTER USER 用户名 PASSWORD '生成的加密字符串';
| 加密方式 | 示例前缀 | 适用版本 | 安全等级 |
|---|---|---|---|
| SCRAM-SHA-256 | SCRAM-SHA-256$4096:... |
v10 及更高版本 | 极高 |
| MD5 | md5a1b2c3d4... |
所有版本 | 中 |
\password 命令或 md5() 函数计算结果完全一致。ALTER USER 语句,直接粘贴即可运行。