你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
Hash::make('111');//长度为60位字符
没有找到相关结果
安正超
赞同来自: 阳阳 、JohnLui 、花事了 、FiveSay 、宋小北 、kkkdd更多 »
$hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));
bool password_verify ( string $password , string $hash )
if (password_verify($pwd, '$2y$10$4kAu4FNGuolmRmSSHgKEMe3DbG5pm3diikFkiAKNh.Sf1tPbB4uo2')) { echo "密码正确"; } else { echo "密码错误"; }
qufo
赞同来自:
要回复问题请先登录或注册
2 个回复
安正超
赞同来自: 阳阳 、JohnLui 、花事了 、FiveSay 、宋小北 、kkkdd更多 »
PHP5.5 提供了许多新特性及Api函数,其中之一就是Password Hashing API(创建和校验哈希密码)。
那么Hash::make();就是使用了下面的代码具体实现的加密:
然后这里的$cost呢在框架中默认是10,所以你在其它非laravel里验证的时候使用上面的方法生成密码。然后使用password_verify对比密码:
语法:
举例:
$pwd 为用户的输入密码,比如123456
更多请参考:
qufo
赞同来自:
原始的代码在 \vendor\laravel\framework\src\Illuminate\Hashing\BcryptHasher.php 。内容一目了然。
discuz 的加密是 先md5, 加盐,再md5。
不得已实现了 HasherInterface 弄了个 discuzHasher ,重新把 hash 绑定到这个 discuzHasher 上而不是 BcryptHash, 然后改make,check 加参数。
世界终于清静了。