我试图从Python生成postgres
使用密码hashlib
。
>>> import hashlib
>>> hashlib.md5("psql123").hexdigest()
2636d1ddc54901f98d011ffe050c0eb7
但是postgresql需要md5
前缀,所以
sudo -u postgres psql
ALTER USER postgres PASSWORD 'md52636d1ddc54901f98d011ffe050c0eb7';
但是,如果我将其psql123
用作密码,则身份验证将失败。
如果我使用passlib
,我很好。参见http://pythonhosted.org/passlib/lib/passlib.hash.postgres_md5.html
可以使用以下psql123
密码作为密码。
ALTER USER postgres PASSWORD 'md556074e7318bd4cee558faab0678a2fad';
我不明白警告中passlib
要说的是什么。可以为postgres
用户使用此哈希吗?另外,它在文档中的什么地方说username
必须是输入的一部分?
我认为这就是为什么postgres
无法理解的结果的原因hashlib
。作为LDAP用户,我可以在外壳程序中生成一个密码。postgres是否具有内置命令来执行此操作?是否psycopg2
有?看起来好像没有。
Postgres的密码哈希非常接近您所做的事情,只需要包括以下用户名:
pghash = "md5" + hashlib.md5(password + username).hexdigest()
AFAIK,postgres文档根本没有真正记录这种哈希格式,并且似乎假设管理员很少会直接处理这些哈希值:(没有生成这些哈希值的内置方法,我知道。如果密码提供给ALTER USER
命令不符合postgres哈希格式,它假定密码尚未被哈希,并在内部进行处理-根据CREATE
ROLE
的ENCRYPTED关键字的文档进行。(恕我直言,这是一种有缺陷的行为,因为如果哈希值取决于用户名,这意味着无法在不同帐户之间复制和粘贴哈希值,在重命名帐户时会中断哈希值,并且(从熵的角度进行猜测)只有约6位有效盐)。
passlib文档顶部有关哈希的警告可能更清楚了。旨在警告浏览passlib文档的人们:1)此哈希非常不安全,2)他们不应该将其用于自己的应用程序中,以及3)仅适合与postgres用户帐户,因为它是postgres支持的最强大(也是唯一)的哈希格式,它支持自己的帐户。
(如果您尝试使用postgres对自己应用程序的用户帐户的密码进行哈希处理,那么我强烈建议Clodoaldo建议通过pgcrypto扩展名使用bcrypt)。
如何更改PostgreSQL用户的密码?
我试图使用Python的为生成密码。 但是postgresql需要前缀,所以 但是,如果我使用作为密码,身份验证将失败。 如果我使用,我很好。请参阅 http://pythonhosted.org/passlib/lib/passlib.hash.postgres_md5.html 使用作为密码执行以下操作是可以的。 我不明白中的警告想说什么。可以将此哈希值用于用户吗?另外,在文档中的哪个位置说必
如何更改PostgreSQL用户的密码?
我正在制作一个ASP.NET核心应用程序并使用用户机密。用户机密设置正确,当我右键单击项目->管理用户机密时,我可以看到它们。当我点击“debug”时,在Visual Studio中的一切都运行良好。但是当我构建应用程序并启动.dll文件时,它没有正确地检索用户机密,而是从中得到一个空字符串。
问题内容: 下面的查询生成一行DNA序列 结果-dna CCCGGTTCTCCCCATGCAGG 我想生成10个随机DNA序列 问题答案: 像这样吗?
<?php $pw='simplewind'; $afpw=sp_password($pw);//加密字符串 echo $afpw;//输出加密后的字符串 ?>
我正在尝试创建一个公钥以允许我推送到Git,但我的. ssh文件夹尚未创建。 以下是我运行的命令: $ssh-keygen-t rsa-Cemaill@me.com 生成公共/私有rsa密钥对 输入保存密钥的文件(/h/.ssh/id\u rsa): 这就是H:驱动器配置、数据、配置文件、配置文件中的全部内容。V2 我认为有一个问题,因为当我得到提示输入文件,其中保存密钥(/h//. ssh/id
我正在尝试从RESTAPI获取数据,他们还没有完全实现OAuth。他们只使用OAuth在您已经拥有访问令牌后使用的签名方法。我已获得消费者密钥 你能建议怎么做吗?