我想知道是否有python cognate to php的 crypt() 以类似方式执行的功能,生成随机盐并将其嵌入保存的字符串中。

我有一张使用的密码表 $5$ 设置基于SHA256的咸密码图的字符串键。这些哈希在两端都以固定的间隔附加了一些附加的记录熵,但是将这些字符从字符串上拆分并获得核心哈希是微不足道的,根本不是问题。

我已经查看了Python文档,在 hashlib 这似乎利用了PHP的同一语法 crypt(). 。该语言独有的PHP中使用的方法是否在PHP(输入格式拆分,盐,Algo和圆圈之间具有美元标志)?

谢谢。

编辑:

看起来好像是Python自己的本地的修订版 crypt 功能将利用类似于PHP的过程。从3.3预发行文档:

http://docs.python.org/dev/library/crypt.html

编辑:

最终找到了Passlib,这是一个在Pure Python中提供此功能的库。

http://packages.python.org/passlib/index.html

有帮助吗?

解决方案

当然看起来与 FreeBSD的地下室 (请参阅Manpage中的“模块化地crypt”)。我真的不记得这在Linux还是其他方式中是相同的,但这似乎表明它不是唯一的。

据我所知 hashlib.

其他提示

我意识到这个问题是旧的,但是当我试图在Python中实现最初用PHP编写的Python的登录算法时,我发现了它。 PHP中的隐窝函数使用了包括BCRypt在内的少数几个不安全的算法。这取决于您使用的字符串。 Passlib几乎是复制您当前从PHP Crypt获得的功能的最佳选择。拿一份您的哈希密码,然后查看字符串的正面。您应该看到$ 2A $,$ 3 $,$ 6 $(或类似)之类的东西。请注意,如果该字符串不存在,则您很有可能使用标准DES HASHISHING。

将该信息带到此链接:

http://pythonhosted.org/passlib/modular_crypt_format.html#mcf-isentifiers

然后,将其匹配到您需要在Python中实现的算法。该方案标识符是有关该哈希算法的Passlib文档的链接。在这一点上,您应该拥有完成重新实现的所有信息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top