1

我的问题是,关于河豚,我如何从 mcrypt 获得与从 crypt 获得的结果相同的结果?

我想使用phpass 框架进行密码哈希和验证。只要你有 PHP 5.3 就可以很好地工作,因为crypt(). 我的主机使用 mcrypt 库运行 PHP 5.2.x。

浏览文档并使用 crypt 搜索河豚,结果似乎是'$a2$',两个字符的迭代值,,'$'盐(填充或剪切为 22 个字符),然后是一个 32 base64 字符串表示哈希。

我的问题是我找不到对MCRYPT_MODE_modenames我有意义的解释。以及如何提供mcrypt()我想要的迭代次数?还是这两个函数使用不同形式的不交叉翻译的河豚?

4

1 回答 1

4

Mcrypt 和 crypt() 是两个完全不同的函数。Mcrypt 是双向加密,而 crypt 是单向加密。据我所知 crypt() 在 php 5.2 中。另外,如果我是你,我只会引用 crypt() 本身。而且我也会从中使用 bcrypt 。

 $hashed_password=crypt($password_to_be_hashed,'$2a$04$saltstringhere');

最后,只需在 $2a$ 之后的两位数内更改两位数的成本系数。这将允许您更改所需的 cputime 量。记住它是对数上升的(如果我没记错的话)。默认值为 07。

最后 crypt_blowfish 是 blowfish 的双向加密算法,它使用高达 448 位的密钥。crypt 内部的河豚是 bcrypt,它基于河豚,但设计用于在对密码进行哈希处理时存储密码。这称为单向加密。

于 2011-07-16T12:26:42.170 回答