是否可以在 PostgreSQL 中创建用户而不提供纯文本密码(理想情况下,我希望能够创建一个仅提供使用 sha-256 加密的密码的用户)?
我想做的是创建一个具有类似内容的用户:
CREATE USER "martin" WITH PASSWORD '$6$kH3l2bj8iT$KKrTAKDF4OoE7w.oy(...)BPwcTBN/V42hqE.';
有什么办法可以做到这一点吗?
感谢您的帮助。
您可以提供已经散列的密码md5
,如文档中所述(创建角色 http://www.postgresql.org/docs/9.2/static/sql-createrole.html):
ENCRYPTED UNENCRYPTED 这些关键字控制密码是否为
加密存储在系统目录中。 (如果两者均未指定,则
默认行为由配置参数决定
密码_加密。)如果提供的密码字符串已存在
MD5加密格式,然后按原样加密存储, 不管
是否指定 ENCRYPTED 或 UNENCRYPTED(因为系统无法
解密指定的加密密码字符串)。这允许
在转储/恢复期间重新加载加密密码。
这里缺少的信息是 MD5 加密的字符串应该是与用户名连接的密码,加上md5
一开始。
例如创建u0
用密码foobar
, 知道md5('foobaru0')
is ac4bbe016b808c3c0b816981f240dcae
:
CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';
然后 u0 将能够通过键入登录foobar
作为密码。
我认为目前没有办法使用SHA-256
代替md5
PostgreSQL 密码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)