Moodle以以下格式在用户表中保存散列密码:
如果存储的密码是: $2y$10$UB6vKrpw227eqVXj2PiPou9c0eRtxsdU02fo9.wc3VtsA2FI.gS6a
则: $2y$=哈希算法ID(crypt_blowfish),用美元符号括起来。
10$=使用该算法的成本(两个数字加美元符号)。
UB6vKrpw227eqVXj2PiPou=随机生成的安全盐(22个字符)。
9c0eRtxsdU02fo9.wc3VtsA2FI.gS6a=哈希值(31个字符)。
我有纯文本明文密码。我无法想出如何使用Python检查它。
如果存储的密码是: $2y$10$UB6vKrpw227eqVXj2PiPou9c0eRtxsdU02fo9.wc3VtsA2FI.gS6a
则: $2y$=哈希算法ID(crypt_blowfish),用美元符号括起来。
10$=使用该算法的成本(两个数字加美元符号)。
UB6vKrpw227eqVXj2PiPou=随机生成的安全盐(22个字符)。
9c0eRtxsdU02fo9.wc3VtsA2FI.gS6a=哈希值(31个字符)。
我有纯文本明文密码。我无法想出如何使用Python检查它。
pip install py-bcrypt
吗?而且hashed
看起来是静态的。 - sphoenixpip install bcrypt
。不过我自己是用 anaconda 安装的,所以没有尝试过。很奇怪你会遇到那个错误,因为我这边一切正常。你用的是哪个 Python 版本和哪个 bcrypt 版本(bcrypt.__version__
)? - JohanLhashed
是静态的”是什么意思?它是一个bytes
对象,很可能是通过使用用户名作为键查找该值得到的。 - JohanLpython 3.5.2, bcrypt: 3.1.4
- sphoenix