草庐IT

哈希环

全部标签

php - session 哈希大小重要吗?

在选择用于session哈希的正确算法时,大小是否重要。我最近读了这个article它建议使用漩涡池为sessionID创建哈希。Whirlpool生成一个128个字符的哈希字符串,这是否太大了?计划是将session哈希存储在数据库中。使用64个字符字段(sha256)、96个字符字段(sha384)或128个字符字段(whirlpool)之间有很大区别吗?最初为whirlpool提出的争论之一是速度与其他算法相比,但从速度结果来看sha384并不太公平。可以选择截断散列以使其小于128个字符。我确实修改了原始代码片段,以允许根据需要更改算法。更新:有一些关于字符串被散列的讨论,所以

php - 如何配置 CakePHP 的 $this->Auth->login() 以使用自定义密码哈希

CakePHPv.2.4...我正在关注thisdocumentation尝试设置Auth组件以使用我的自定义密码哈希类:App::uses('PHPassPasswordHasher','Controller/Component/Auth');classAppControllerextendsController{//authneededstuffpublic$components=array('Session','Cookie','Auth'=>array('authenticate'=>array('Form'=>array('fields'=>array('username'=

php - 真实稳定的对象哈希

我需要清楚地识别一个对象并将其标识存储在我的数据库中。之后我需要这个ID来恢复这个对象。我尝试使用“spl_object_hash()”(http://php.net/manual/en/function.spl-object-hash.php),但每次我重新加载页面时此函数都会返回另一个值。为了测试,这个对象是稳定的,保持不变,完全没有变化。尽管如此,“spl_object_hash()”一次又一次地返回不同的结果,我重新加载。$foo=newstdClass();print_r(spl_object_hash($foo));->每次我点击刷新时另一个散列我需要一种根据完整对象创建散

php - Laravel 使用多少成本/回合进行哈希处理?

我试图了解Laravel4.2中BcryptHasher.php文件中的以下函数是如何工作的:/***Hashthegivenvalue.**@paramstring$value*@paramarray$options*@returnstring**@throws\RuntimeException*/publicfunctionmake($value,array$options=[]){$cost=isset($options['rounds'])?$options['rounds']:$this->rounds;$hash=password_hash($value,PASSWORD_

php - 在不丢失数据库用户的情况下更改哈希

我有这个网站,有一个简单的CMS,当用户注册时,他们的密码会以MD5加密。但由于我不喜欢这种加密,而且我已经在重新构建我的CMS,所以我也更改了哈希值。现在,他们是否可以在不丢失我的数据库用户的情况下以另一种加密方法更改MD5? 最佳答案 您可以在保存密码的数据库中添加3个新列。newPassword,newSalt,isRequired在这里您可以保存由新密码创建的新盐(如果使用像phpspassword_hash这样的散列)、新的散列密码以及这是他们自散列更新后的第一次登录尝试。方法您将需要修改登录脚本以检查isRequired

php - 同一输入的哈希值总是不同

我正在尝试使用thishashingfunction但每次我重新加载页面时,它都会给我一个不同的字符串,除了前7个字符。';$passwordHash='default';$passwordHash=password_hash(trim($pass),PASSWORD_DEFAULT,["cost"=>11]);echo'Passwordhashis'.$passwordHash;例如,我传递aaa并获取哈希值$2y$11$1Ll4twbmFNWhVxBOCeDWhOtZ4WchW.GYXK3LSH9BnW6AhXf45soWq$2y$11$H0dmOkkq3rSgggDbGueRPu

PHP 和 bash 返回不同的哈希结果

尝试使用bash命令和PHP的hash()函数生成散列时,我得到了不同的结果。我查看了之前的问题,最常见的问题是字符串中隐藏了换行符或其他一些字符,但是我在实际字符串而不是文件上运行这些函数,所以这不是问题所在。例如:bash:md5sum:b1946ac92492d2347c6235b4d2611184sha256sum:5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03PHP的hash()函数:hash('md5','hello'):9dd4e461268c8034f5c8564e155c67a6hash

php - 我应该如何将盐合并到我的密码哈希中?

会强多少returnsha1($salt.sha1($passwd));仅与:returnsha1($salt.$passwd);$salt是长度为12的每个用户字符串,由强随机ASCII组成。 最佳答案 它的强度正好是原来的两倍,因为攻击者需要执行两倍的SHA1计算才能进行暴力攻击。当然,这还不够令人印象深刻。另一方面,在循环中执行SHA15000次对于授权是实用的,但会使攻击花费5000倍的时间-这种技术被称为keystrengthening.然而,它实际上只是Jacco提到的自适应成本哈希算法的穷人替代品。

php - 多个值的哈希方法?

偶尔,我发现我需要对一些对象进行排序,将它们按多个值分组。我通常通过将值连接在一起来实现这一点,中间使用下划线或其他描述符,然后将其用作数组索引。//groupallobjectswithacommonparent_id,date,andtypeforeach($objectsas$obj){$hash=$obj->parent_id.'_'.$obj->date.'_'.$obj->type;$sorted_objects[$hash][]=$obj;}...恶心!必须有比滥用PHP的松散类型和字符串连接更好的方法。有没有办法对多个值执行散列?看来我应该能够做这样的事情:$hash=

php - 我如何解码 laravel 5 中的哈希值?

我必须将我的哈希密码转换成字符串。这是我的代码。$email,'password'=>Crypt::decrypt($password));当我使用Crypt::decrypt时出现错误。错误-DecryptExceptioninBaseEncrypter.phpline45:Thepayloadisinvalid.任何人都可以建议我该怎么做吗?谢谢。 最佳答案 使用Crypt::decrypt()$value=Crypt::decrypt($encrypted);Note:Youmustdecryptthevaluewiththe