拉拉维尔是否安全哈希用户密码


Does laravel safe hashes user passwords?

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

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

密码也以加密方式存储在数据库中。我应该担心他的话吗?

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

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

如果您没有使用 Laravel 的

内置身份验证,请使用 Laravel 的 Hash 类。 Hash::make('$data['password']') .但在您的情况下,它看起来很可靠,您不必担心再次散列。

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

我并不是说它是完全安全的,但即使有人知道 bcrypt 的工作原理,如果他们不知道加密密钥,他们将很难解密它。

因此,如果您不使用配置文件,请确保php artisan key:generate .env