草庐IT

blowfish

全部标签

php - 在 ruby​​ 中使用 Blowfish 加密字符串返回的字符串比 php 中的相同进程更短

这让我很困惑。当我尝试使用以下输入通过Blowfish加密字符串时:key=“一些key”input="输入字符串"我得到以下结果:ruby:["79af8c8ee9220bde"]php:79af8c8ee9220bdec2d1c9cfca7b13c6我将从php应用程序接收字符串,因此我需要让这两个应用程序同步,但我不明白为什么php字符串会更长。我错过了什么?php代码:php>require_once'Crypt/Blowfish.php';php>$input="inputstring";php>$key="somekey";php>$crypt=newCrypt_Blowf

php - 通过 PHP 在 openfire MySQL 中创建加密密码

Openfire使用河豚加密将加密密码存储在数据库中。http://svn.igniterealtime.org/svn/repos/openfire/trunk/src/java/org/jivesoftware/util/Blowfish.java是加密/解密函数如何在openfire中工作的java实现。我的目标是通过PHP和MySQLI在数据库中创建新的用户条目。我尝试过的所有变体都产生了与数据库中已有内容不匹配的结果。例如:d3f499857b40ac45c41828ccaa5ee1f90b19ca4e0560d1e2dcf4a305f219a4a2342aa7364e995

php - 密码散列 : Keccak or not

SHA-3哈希算法竞赛的获胜者已经选出。获胜者的算法是Keccak。我使用Blowfish并且非常喜欢它,但据说Keccak更好。在我的网站上使用它来存储用户密码是否值得?如果是,是否有用于PHP、Python、Ruby或任何其他语言的Keccak实现用于网络编程?我希望这个问题也能帮助其他人。谢谢! 最佳答案 简答:没有,而且可能永远不会。对于密码散列,BCrypt和PBKDF2-HMAC-xxx是比任何简单的SHA-1/2/3算法更好的选择。在SHA-1/2实际发布可行的原像攻击之前,SHA-3实际上是最差的选择,特别是因为它的

php - 我是否在 PHP 中正确使用了 CRYPT_BLOWFISH?

我打算将它用于用户密码系统,但我首先要确保我做的是正确的。这是我的测试代码:functiongenerateBlowfishSalt(){$chars='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ./';$numChars=strlen($chars);$salt='';for($i=0;$i',$password);printf('salt:%s',$salt);printf('hash1:%s',$hash1);printf('hash2:%s',$hash2);printf('compare:'.$

java - 与 java 和 .net 相比,mcrypt blowfish php 的结果略有不同

以下是一些更改了键值和负载的示例代码:$key='/4rTInjwg/H/nA==';$key=base64_decode($key);$data='val=100|val=200|val=300|val=400|val=500|val=600|val=700|val=800|val=900|';$data.='val2=100|val2=200|val2=300|val2=400|val2=500|val2=600|val2=700|val2=800|val2=900|';$data.='val3=100|val3=200|val3=300|val3=400|val3=500|val

php - 通过 mcrypt 加密并通过 openssl 使用模式 CBC 和密码 BLOWFISH 解密

我们用mcrypt密码BLOWFISH加密了一些数据,模式是CBC字符串在php5.5中加密,需要在php7.1中解密(php版本升级)以下是我们尝试使用openssl解密mcrypt字符串的代码$data="Loremipsum";$key="12345678";$iv="12345678";$encrypted=mcrypt_encrypt(MCRYPT_BLOWFISH,$key,$data,MCRYPT_MODE_CBC,$iv);echo$encrypted.PHP_EOL;$decrypted=openssl_decrypt($encrypted,"BF-CBC",$key

php - Blowfish 加密 - 哈希已创建但不会验证

我不久前写了这段代码,现在我正在为一个新项目恢复它,但它似乎不起作用,我无法弄清楚为什么它不会验证哈希。当注册第一个passwordEncrypt()函数时,运行的2个函数如下所示。当尝试登录时调用checkPassword()函数,而不是登录并回显"is",而是进入回显“否”的部分。所以,如果有新的眼睛可以看看,请提前多谢!//EncryptuserpasswordfunctionpasswordEncrypt($password){//setthesalt$salt=substr(md5(time()),0,22);//encryptusingblowfishwithaloadof

php - PHP 记住我系统中的安全 token 是否需要 Blowfish?

我搜索过SO,我知道有很多“记住我”的问题,但我找不到专门关于使用Blowfish生成安全token的问题。我正在实现一个登录系统以使用基于cookie的“记住我”功能,我读过的所有教程要么看起来不安全(例如,只是基于时间的未加盐的md5哈希)要么看起来过于复杂.我不是要为银行或类似机构建立网站,只是想要一个合理的安全级别。我提议的系统只是为用户名创建一个128字符的随机字符串,为登录token创建第二个128字符的字符串。原始字符串将存储在cookie中,未加盐的sha1版本将进入数据库中用户帐户的行。我想我什至可以在每次加载页面时重新生成字符串。对我来说,这提供了不错的安全性(我认

php - crypt($pass, '$2y$09$salt' ) === crypt($pass, crypt($pass, '$2y$09$salt' )) 在 PHP 中如何运行?

我确实对crypt()PHP函数感到困惑。当第二个crypt显然使用不同的第二个参数时,以下两个crypt函数如何给出相同的输出?差异盐意味着差异哈希对吗?echocrypt("password",'$2y$09$anexamplestringforsalt$')."\n";echocrypt("password",crypt("password",'$2y$09$anexamplestringforsalt$'))."\n";输出:$2y$09$anexamplestringforsale/.K.VdgECUVEd9N4ja3u1WtgPi5BXZq 最佳

php crypt() 河豚盐长度向后兼容

我使用crypt()来散列密码,使用像这样的河豚盐:$2a$,2digits,$,21charsin[a-zA-Z0-9]这里我犯了一个错误,第三个$之后的字符长度是21而不是22。但它工作正常,所以我没有发现错误。它适用于我运行Windows和php5.4.4的桌面,以及运行Amazonlinux和php5.3.x的AWSec2,盐太短。有一天我将AWSphp更新到5.5.14。然后问题发生了。crypt()始终返回*0。经过一些尝试,我在salt的末尾添加了一个$,所以它变成了22个字符。它再次工作并返回与以前相同的哈希字符串。虽然它不遵守河豚规则,但字符应该是[./a-zA-Z0