草庐IT

BlowFish

全部标签

php - 使用 PHP 的 crypt 的河豚盐的正确格式是什么?

我已阅读PHPManualEntryforcrypt()上提供的信息,但我发现自己仍然不确定用于触发Blowfish算法的盐的格式。根据手动输入,我应该使用“$2$”或“$2a$”作为16个字符的字符串的开头。但是,在后面给出的示例中,他们使用了更长的字符串:'$2a$07$usesomesillystringforsalt$',这向我表明无论我提供什么字符串都将被切分以适合模型。我遇到的问题实际上是触发Blowfish算法与STD_DES。示例:$foo='foo';$salt='$2a$'.hash('whirlpool',$foo);//128characters,willbet

php - 使用 PHP 的 crypt 的河豚盐的正确格式是什么?

我已阅读PHPManualEntryforcrypt()上提供的信息,但我发现自己仍然不确定用于触发Blowfish算法的盐的格式。根据手动输入,我应该使用“$2$”或“$2a$”作为16个字符的字符串的开头。但是,在后面给出的示例中,他们使用了更长的字符串:'$2a$07$usesomesillystringforsalt$',这向我表明无论我提供什么字符串都将被切分以适合模型。我遇到的问题实际上是触发Blowfish算法与STD_DES。示例:$foo='foo';$salt='$2a$'.hash('whirlpool',$foo);//128characters,willbet

php - 用于密码散列的 Crypt。河豚产生奇怪的输出

我在理解php的crypt函数时遇到了一些麻烦。我的PHP版本是5.4.7。我想使用crypt将加盐密码存储在数据库中,因为据我所知,使用md5散列密码的开发人员将被当场质押和销毁。我想使用河豚算法来生成哈希。现在,根据php文档,如果您使用“$2y$”+cost(例如:“08”)+“$”+22个字符盐(./0-9A-Za-z)调用它,crypt将使用河豚.然而,这一小段测试代码的输出让我感到困惑:echo"";if(CRYPT_BLOWFISH==1){echo'BlowfishSaltLen=18:'.crypt('stringthatshouldbehashed','$2y$08

php - 用于密码散列的 Crypt。河豚产生奇怪的输出

我在理解php的crypt函数时遇到了一些麻烦。我的PHP版本是5.4.7。我想使用crypt将加盐密码存储在数据库中,因为据我所知,使用md5散列密码的开发人员将被当场质押和销毁。我想使用河豚算法来生成哈希。现在,根据php文档,如果您使用“$2y$”+cost(例如:“08”)+“$”+22个字符盐(./0-9A-Za-z)调用它,crypt将使用河豚.然而,这一小段测试代码的输出让我感到困惑:echo"";if(CRYPT_BLOWFISH==1){echo'BlowfishSaltLen=18:'.crypt('stringthatshouldbehashed','$2y$08

php - phpMyAdmin 中的河豚 secret 是什么?

关于设置config.inc.php,phpMyAdmin官方文档说$cfg['blowfish_secret']='theExampleWrites16ValuesHere';//usehereavalueofyourchoice什么是河豚secret?如何生成或选择一个值? 最佳答案 只需使用您喜欢的任何随机字符串和/或数字。这是一个对您的实例和使用phpMyAdmin而言是唯一的值。 关于php-phpMyAdmin中的河豚secret是什么?,我们在StackOverflow上找

php - phpMyAdmin 中的河豚 secret 是什么?

关于设置config.inc.php,phpMyAdmin官方文档说$cfg['blowfish_secret']='theExampleWrites16ValuesHere';//usehereavalueofyourchoice什么是河豚secret?如何生成或选择一个值? 最佳答案 只需使用您喜欢的任何随机字符串和/或数字。这是一个对您的实例和使用phpMyAdmin而言是唯一的值。 关于php-phpMyAdmin中的河豚secret是什么?,我们在StackOverflow上找

php - 为什么 crypt/blowfish 使用两种不同的盐生成相同的散列?

这个问题与PHP对crypt()的实现有关。.对于这道题,salt的前7个字符不算在内,所以salt'$2a$07$a'可以说长度为1,因为它只有1个salt字符和七个字符的元数据。当使用长度超过22个字符的salt字符串时,生成的哈希值没有变化(即截断),当使用长度小于21个字符的字符串时,salt将自动填充(使用'$'字符,显然);这很简单。但是,如果给定一个20个字符的salt和一个21个字符的salt,其中除了21长度的salt的最后一个字符之外两者是相同的,那么两个散列字符串将是相同的。一个22个字符长的salt,除了最后一个字符外,与21个长度的salt完全相同,哈希值将再

php - 为什么 crypt/blowfish 使用两种不同的盐生成相同的散列?

这个问题与PHP对crypt()的实现有关。.对于这道题,salt的前7个字符不算在内,所以salt'$2a$07$a'可以说长度为1,因为它只有1个salt字符和七个字符的元数据。当使用长度超过22个字符的salt字符串时,生成的哈希值没有变化(即截断),当使用长度小于21个字符的字符串时,salt将自动填充(使用'$'字符,显然);这很简单。但是,如果给定一个20个字符的salt和一个21个字符的salt,其中除了21长度的salt的最后一个字符之外两者是相同的,那么两个散列字符串将是相同的。一个22个字符长的salt,除了最后一个字符外,与21个长度的salt完全相同,哈希值将再

php - 从使用 Blowfish 和 ECB 的 mcrypt 迁移到 OpenSSL

在(不太遥远的)过去,(由长期在这里工作的人)做出了一个决定,即在需要外部通信时,始终将数据库ID即时“加密”为其他内容。现在,我们的主要应用程序已从PHP5.x迁移到PHP7.0,分散在基础架构中的微服务运行的是7.0或7.1。7.1服务器不断抛出mcrypt内容的弃用警告。没什么大不了的,只是现在。但是随着PHP7.2的临近,我们希望不断更新和升级。Mcrypt正在阻止。要将所有当前加密的值保存在1400个数据库的60个表中,是一项艰巨的任务。有没有办法利用OpenSSL、Blowfish和ECB来获得相同的编码和解码值,从而让我们产生一种错误的安全感?这样我们就可以提前规划数据库

php - 在 PHP 中使用 Blowfish 进行加密

我正在处理需要加密密码的注册表单,我听说建议我使用Blowfish加密密码,如何使用PHPcrypt()函数实现河豚加密?另外,我打算稍后找回登录密码。 最佳答案 简短的回答是使用crypt和以字符$2a$开头的salt,一个两位数的cost参数,$,以及来自字母表./0-9A-Za-z的22位数字。这仅适用于支持Blowfish加密算法的系统。但是,PHP5.3原生实现了它。参见PHPmanual—crypt了解更多详情。例子:crypt('rasmuslerdorf','$2a$07$somesillystringforsalt