首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用MCRYPT_BLOWFISH模拟CRYPT_BLOWFISH

用MCRYPT_BLOWFISH模拟CRYPT_BLOWFISH
EN

Stack Overflow用户
提问于 2011-07-01 07:25:23
回答 1查看 1.1K关注 0票数 1

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

我想使用the phpass framework进行密码散列和验证。只要你有PHP5.3,它就能工作得很好,因为blowfish包含在crypt()中。我的主机正在运行PHP5.2.x和mcrypt库。

浏览文档并用谷歌搜索有关blowfish with crypt的内容,结果似乎是'$a2$',两个字符的迭代值,'$',盐(填充或剪切到22个字符),然后是代表散列的32 base64字符串。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-16 20:26:42

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

代码语言:javascript
复制
 $hashed_password=crypt($password_to_be_hashed,'$2a$04$saltstringhere');

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

最后,crypt_blowfish是blowfish的双向加密算法,它的密钥最大可达448位。crypt内部的blowfish是bcrypt,它基于blowfish,但设计用于在对密码进行哈希处理时存储密码。这就是所谓的单向加密。

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

https://stackoverflow.com/questions/6542173

复制
相关文章

相似问题

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