jjzjj

php - 哪些迭代规则适用于使用 CRYPT_EXT_DES 的 crypt()?

我的测试用例如下:echocrypt('string','_....salt');//errorechocrypt('string','_A...salt');//fastechocrypt('string','_AAAAsalt');//slow说明如http://www.php.net/manual/en/function.crypt.php所述:CRYPT_EXT_DES-ExtendedDES-basedhash.The"salt"isa9-characterstringconsistingofanunderscorefollowedby4bytesofiterationcou

php - 将字符串与哈希进行比较时,Crypt 函数不起作用

我正在使用一种非常标准的cookie登录方式-我给用户两个cookie,一个是他的用户名,另一个是随机生成的字符串加上用户特定的盐。这是登录时发生的事情:$_SESSION['username']=$row[username];$_SESSION['user_id']=$row['id'];$loginhash=generateRandomBase64String()."_".$row['salt'];$number_of_days=14;$date_of_expiry=time()+60*60*24*$number_of_days;setcookie("userlogin",$row

PHP password_hash() 与 Postgres crypt()

我正在使用Postgres9.3数据库作为Web应用程序的后端。我使用PHP5.5.7连接到数据库并为前端AJAX调用返回JSON。我正在尝试决定将用户身份验证逻辑放在哪里。我不是安全专家;但是,我熟悉PHP的新password_*()函数,并且非常了解幕后发生的事情。我也熟悉Postgres扩展pgcrypto和相关的crypt()函数。我的问题是,使用PHP或Postgres来散列密码是否有意义?我很好奇这些函数有何不同,所以我用PHP做了一个密码散列,然后将它交给Postgres,看看Postgres是否使用相同的算法。在给定相同参数的情况下,与PHP相比,Postgres返回了

php - 为什么PHP crypt函数使用DES加密算法?

鉴于经验法则是存储密码字符串的加盐哈希,而不是它的加密形式,为什么PHPcrypt()函数使用基于DES的算法?DES不是加密算法吗?手册说...crypt()willreturnahashedstringusingthestandardUnixDES-basedalgorithmoralternativealgorithmsthatmaybeavailableonthesystem...我从这里了解到,crypt()仅使用系统实现的算法。当然,DES是作为加密算法而不是crypt的自定义哈希算法来实现的。PS-我知道DES在过去很早以前就没有人应该再使用它了。

php - 如何最好地从散列 ('sha512' ,'salt' 升级到 password_* 函数)

我渴望将我的代码迁移到新的password_*PHP原生提供的函数。数据库中现有的哈希已经生成如下:hash('sha512',''.$email.$password);我想将这些移动为由现在推荐的创建的哈希:password_hash($password,PASSWORD_DEFAULT);显然,当用户登录时,我可以借此机会根据他们刚刚提供的密码创建新的哈希值,并将其保存在数据库中。但是,我想避免数据库中必须有两个字段,即一个用于已弃用的哈希,一个用于现代password_hash。相反,我宁愿在每个用户登录时替换旧的。因此,是否可以保留单个数据库字段,并让用户空间代码确定哈希是否旧

PHP crypt() 在 5.6.4 版本中返回 *0 失败字符串,但在 5.4 中没有,

echocrypt('test',"$2a$07$");在PHP5.4.16版本中生成长散列,但它生成“失败字符串”*0在5.6.4中。阅读关于crypt()的PHP文档,我仍然不是很清楚为什么,尽管Changelog提到返回*1而不是*0取决于情况。(http://php.net/manual/en/function.crypt.php)在这种情况下返回*0的原因是什么?5.4之后的PHP是否不再容忍$2a$07$形式的坏盐? 最佳答案 Blowfish定义说你必须在第三个$之后定义一个字符串。Blowfishhashingwit

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

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

php - doctrine2 额外延迟获取关联

我有一个Thread实体,它与Message实体有一个OneToMany关联。我正在使用DQL查询获取线程,我想将其消息数量限制为10。因此我将获取模式设置为EXTRA_LAZY,如下所示。classThread{//.../***@varArrayCollection*@ORM\OneToMany(targetEntity="Profile\Entity\Message",mappedBy="thread",fetch="EXTRA_LAZY")*@ORM\OrderBy({"timeSent"="ASC"})*/protected$messages;}这允许我使用slice方法向数

php - 当我使用加盐的 CRYPT_MD5 来加密我的密码时,加密的是什么?

对字符串使用md5始终会产生字母数字加密结果,即:无符号。但是,当我使用phpcrypt()函数时,特别是CRYPT_MD5(它是打开的,我已经检查过)和盐时,它返回的假定md5散列看起来不像md5散列。例如:如果我对字符串'password'进行md5,我会得到:$pass=md5('password');echo$pass;//5f4dcc3b5aa765d61d8327deb882cf99如果我使用CRYPT_MD5,它由“$1$”前缀和“$”后缀表示,盐为“salt”:$pass=crypt('password','$1$salt$');echo$pass;//$1$salt$

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 最佳