Laravel如何用盐创建sha256哈希

Laravel如何用盐创建sha256哈希,laravel,laravel-5,Laravel,Laravel 5,我有一个正在运行的应用程序,它使用客户端Sha256哈希。 我想改用Laravels服务器端bcrypt哈希 我的策略是用bcrypt包装所有密码,这样我就有了bcryptsha256“password”,然后当用户尝试登录时重新刷新密码,这样我就有了bcrypt“password” 我的问题是在用户尝试使用Sha256密码登录时对其进行身份验证 我试图通过运行 如果散列'sha256','password'盐“==$已存储\u pw 但是没有运气。我只相当确定客户端散列只是附加了salt,我不

我有一个正在运行的应用程序,它使用客户端Sha256哈希。 我想改用Laravels服务器端bcrypt哈希

我的策略是用bcrypt包装所有密码,这样我就有了bcryptsha256“password”,然后当用户尝试登录时重新刷新密码,这样我就有了bcrypt“password”

我的问题是在用户尝试使用Sha256密码登录时对其进行身份验证

我试图通过运行 如果散列'sha256','password'盐“==$已存储\u pw 但是没有运气。我只相当确定客户端散列只是附加了salt,我不确定Laravels散列函数是否添加了自己的salt

以下是客户端根据密码1234567创建的哈希:$5$A0FPUG9JGKJ1D6H$eSSzXebYU87wPAWSTRJGyWw/kOMgDvPqcri4CI1QCV0 我正在尝试使用salt、password和Laravels散列函数重新创建相同的散列

如何指定Sha256函数应使用特定的salt?

试试

use phpseclib\Crypt\Hash;
or
use Hash

\Hash::make($request->password);

试试看

我需要一个助手

if (!function_exists('genSSH512')) {
    function genSSH512($value)
    {
        $salt = Str::random(8);

        return  base64_encode(hash('sha512', $value.$salt, true).$salt);
    }
}
我需要一个助手

if (!function_exists('genSSH512')) {
    function genSSH512($value)
    {
        $salt = Str::random(8);

        return  base64_encode(hash('sha512', $value.$salt, true).$salt);
    }
}

我不知道为什么我希望Hash::check只处理用bcrypt散列的密码。我甚至先用Hash::check来验证我的bcrypted密码。。。非常感谢你!你能得到正确的答案@T.Palludan吗?所以请选择我的答案非常感谢..Hash::check有两个参数,第一个是平面密码,另一个是哈希密码。如果密码与哈希匹配,它将返回true。是的,我使用了您的第二个选项,没有问题。不过,我必须等3分钟才能接受你的回答。但我会记住的,非常感谢。我不知道为什么我希望Hash::check只处理用bcrypt散列的密码。我甚至先用Hash::check来验证我的bcrypted密码。。。非常感谢你!你能得到正确的答案@T.Palludan吗?所以请选择我的答案非常感谢..Hash::check有两个参数,第一个是平面密码,另一个是哈希密码。如果密码与哈希匹配,它将返回true。是的,我使用了您的第二个选项,没有问题。不过,我必须等3分钟才能接受你的回答。但我会记住的,非常感谢。