我想知道是否有与 PHP 同源的 pythoncrypt()
函数以类似的方式执行,生成随机盐并将其嵌入到保存的字符串中。
我有一个使用创建的哈希密码表$5$
用于设置基于 SHA256 的加盐密码的字符串密钥。这些哈希值在两端以固定的间隔附加了一些额外的记录熵,但是将这些字符从字符串中分离出来并获取核心哈希值是微不足道的,根本不是问题。
我查看了 python 文档,但找不到任何方法hashlib
似乎使用了与 php 相同的语法crypt()
。 PHP 中使用的方法(输入格式在盐、算法和轮之间用美元符号分割)是该语言所独有的吗?
Thanks.
EDIT:
看起来好像是python自己原生的修改版crypt
函数将使用类似于 PHP 的过程。来自 3.3 预发布文档:
http://docs.python.org/dev/library/crypt.html http://docs.python.org/dev/library/crypt.html
EDIT:
最后找到了Passlib,一个用纯python提供此功能的库。
http://packages.python.org/passlib/index.html http://packages.python.org/passlib/index.html
我意识到这个问题很老了,但是我在尝试用 Python 实现最初用 PHP 编写的登录算法时发现了它。 PHP 中的 crypt 函数使用少数不安全的 DES 算法中的任何一种,包括 bcrypt。这取决于你用什么哈希字符串。 Passlib 几乎是复制应用程序当前从 PHP crypt 获得的功能的最佳选择。取出一个散列密码,然后查看字符串的前面。您应该看到类似 $2a$、$3$、$6$(或类似)的内容。请注意,如果此字符串不存在,则您很可能使用标准 DES 散列。
将该信息带到此链接:
http://pythonhosted.org/passlib/modular_crypt_format.html#mcf-identifiers http://pythonhosted.org/passlib/modular_crypt_format.html#mcf-identifiers
然后,将其与您需要在 Python 中实现的算法相匹配。方案标识符是有关该哈希算法的 passlib 文档的链接。此时,您应该拥有完成重新实现所需的所有信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)