Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Blowfish进行PHP加密_Php_Security_Blowfish - Fatal编程技术网

使用Blowfish进行PHP加密

使用Blowfish进行PHP加密,php,security,blowfish,Php,Security,Blowfish,我正在编写一个需要加密密码的注册表,我听说建议我对密码使用Blowfish加密,如何使用PHP crypt()函数实现Blowfish加密?此外,我还计划稍后检索密码以便登录 简短的回答是使用crypt,salt以字符$2a$开头,两位数的成本参数,$,以及字母表/0-9A-Za-z中的22位数。这只适用于支持Blowfish加密算法的系统。然而,PHP5.3是以本机方式实现的。有关更多详细信息,请参阅 例如: crypt('rasmuslerdorf', '$2a$07$somesillyst

我正在编写一个需要加密密码的注册表,我听说建议我对密码使用Blowfish加密,如何使用PHP crypt()函数实现Blowfish加密?此外,我还计划稍后检索密码以便登录

简短的回答是使用
crypt
,salt以字符$2a$开头,两位数的成本参数,$,以及字母表/0-9A-Za-z中的22位数。这只适用于支持Blowfish加密算法的系统。然而,PHP5.3是以本机方式实现的。有关更多详细信息,请参阅

例如:

crypt('rasmuslerdorf', '$2a$07$somesillystringforsalt')
salt字符串触发适当的算法。两位数的成本参数是基于底层河豚的哈希算法的迭代计数的以2为底的对数,必须在范围[04–31]内。在示例中,07告诉算法使用27或128次迭代。这个数字越高,执行时间就越长,但在散列用户密码的上下文中,这是一件好事

更详细地解释了BCrypt是什么,它与河豚的关系,以及为什么要使用它。还有很多其他的



是一个优秀、易于使用的密码哈希框架,适用于所有系统,如果支持,则使用Blowfish,如果不支持,则使用其他算法。

您不应该需要Blowfish来加密这样的密码。注册表单应该通过HTTPS,这将处理对网络攻击者的防御。密码本身应该是散列的(从不加密)。bcrypt是一个基于blowfish的好密码哈希函数。但是有很多帖子都是关于安全密码存储的

看看。你不应该“加密”密码,而应该使用单向散列函数。看:也读:之后,我想没有什么是完全安全的。