gpt4 book ai didi

postgresql - 在 PostgreSQL 中使用加密密码创建用户

转载 作者:行者123 更新时间:2023-11-29 11:06:23 24 4
gpt4 key购买 nike

是否可以在不提供纯文本密码的情况下在 PostgreSQL 中创建用户(理想情况下,我希望能够创建一个仅提供其使用 sha-256 加密的密码的用户)?

我想做的是用类似的东西创建一个用户:

CREATE USER "martin" WITH PASSWORD '$6$kH3l2bj8iT$KKrTAKDF4OoE7w.oy(...)BPwcTBN/V42hqE.';

有什么办法吗?

感谢您的帮助。

最佳答案

您可以提供已经使用 md5 散列的密码,如文档 ( CREATE ROLE ) 中所述:

ENCRYPTED UNENCRYPTED These key words control whether the password is stored encrypted in the system catalogs. (If neither is specified, the default behavior is determined by the configuration parameter password_encryption.) If the presented password string is already in MD5-encrypted format, then it is stored encrypted as-is, regardless of whether ENCRYPTED or UNENCRYPTED is specified (since the system cannot decrypt the specified encrypted password string). This allows reloading of encrypted passwords during dump/restore.

这里缺少的信息是 MD5 加密字符串应该是密码与用户名连接,加上开头的 md5

因此,例如使用密码 foobar 创建 u0,知道 md5('foobaru0')ac4bbe016b808c3c0b816981f240dcae:

CREATE USER u0 PASSWORD 'md5ac4bbe016b808c3c0b816981f240dcae';

然后 u0 将能够通过输入 foobar 作为密码登录。

我不认为目前有一种方法可以使用 SHA-256 而不是 md5 作为 PostgreSQL 密码。

关于postgresql - 在 PostgreSQL 中使用加密密码创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17429040/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com