laravel安全哈希用户密码吗?

时间:2016-02-08 18:32:20

标签: php laravel

所以,我正在运行一个用Laravel 5.1创建的项目,一个人告诉我,密码不安全,比如哈希没有使用等等。但是我可以在这个函数中清楚地看到密码是加密的:

protected function create(array $data)
{
    return User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),

    ]);
}

密码也作为bcrypted存储在DB中。我应该担心他的话吗?

3 个答案:

答案 0 :(得分:1)

默认Laravel Auth要求密码为bcrypt,正如您在代码中所示。 bcrypt是行业标准的单向密码哈希,非常好。

如果您自己进行身份验证,我们无法控制您处理密码哈希的方式。但默认的Laravel Auth是安全的。

答案 1 :(得分:1)

如果您没有使用Laravel的内置身份验证,请使用Laravel的Hash类。 Hash::make('$data['password']')。但在你的情况下,它看起来很稳定,你不必再担心哈希了。

答案 2 :(得分:0)

您可以阅读有关应用程序密钥的https://laravel.com/docs/5.1/installation#configuration。 由于bcrypt,您只能解密加密的密码。

我并不是说它非常安全,但即使有人知道 bcrypt 如何运作,如果他们不知道加密密钥,他们也会很难解密它。

因此,如果您没有使用php artisan key:generate配置文件,请务必.env