首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Crypt()与Python的Crypt()用于散列

PHP Crypt()与Python的Crypt()用于散列
EN

Stack Overflow用户
提问于 2013-05-11 10:01:32
回答 2查看 1.2K关注 0票数 2

我正在比较PHP的crypt()和Pythons crypt()。阅读Python手册:

http://docs.python.org/2/library/crypt.html 平台: Unix 该模块实现了一个与crypt(3)例程的接口,它是一个基于修改的DES算法的单向散列函数;有关更多细节,请参见Unix手册页。可能的用途包括允许Python脚本接受用户输入的密码,或者尝试用字典破解Unix密码。 请注意,此模块的行为取决于运行系统中密码(3)例程的实际实现。因此,当前实现上的任何扩展也可以在此模块上使用。 crypt.crypt( word,salt)单词通常是用户在提示或图形界面中输入的密码。salt通常是一个随机的双字符字符串,它将用于对DES算法进行4096种方式之一的干扰。盐中的字符必须在集合中。/a-Za-Z0-9。将散列密码返回为字符串,该字符串将由与salt相同字母表中的字符组成(前两个字符表示salt本身)。

通过阅读PHP的Crypt:

http://php.net/manual/en/function.crypt.php CRYPT_SHA512 - SHA-512散列,16个字符的盐类前缀为$6$.如果盐字符串以‘starts =$’开头,则使用N的数字值来表示应该执行多少次哈希循环,就像Blowfish上的成本参数一样。默认的子弹数为5000枚,最低为1000枚,最高为999,999枚。任何超出此范围的N的选择都将被截断到最近的极限。

公平地说,我不包括Python的第三方模块.我想比较PHP ()和Python()这两种股票。

在阅读了这两篇文章并比较之后..。它看起来像是使用SHA512的PHP (),它的最大哈希数为999,999,999次,比Python()强得多。这已经确认了吗?还是我看错了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-11 10:29:30

请注意,Python只是crypto调用的包装器,您提到的文档引用的是基本POSIX版本,可以在任何地方使用。crypto的大多数实现都在这方面做了进一步的扩展,正如文档所述:

请注意,此模块的行为取决于运行系统中密码(3)例程的实际实现。因此,当前实现上的任何扩展也可以在此模块上使用。

如果您查看glibc版本 (它是绝大多数Linux系统使用的),您会发现PHP列出的所有算法都已经实现。另外,请查看一个密码模块的源代码,以查看是否支持迭代( that )参数。

问题中的PHP列出了所有算法,所以要么作者想当然地认为它将被安装在具有最近的glibc的系统上,要么他们设法在所有系统上模拟缺失的算法。

票数 3
EN

Stack Overflow用户

发布于 2013-05-11 10:16:19

Python的crypt()是UNIX等效的代理,用于密码哈希;其中PHP是一个通用的加密服务提供程序;Python有模块

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16495928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档