如何在 Laravel Passport 中设置强密码

How to make strong passwords in Laravel Passport

我正在使用 laravel 通行证在我的 api 中创建登录系统。

但是我想知道有没有办法让密码更安全,有没有办法把密码做更多的循环,我也看到Argon2id比bcrypt更安全,是吗?如果是正确的我如何使用它?这里我留下我的注册码

 public function signup(Request $request)
    {
        $request->validate([
            'name'     => 'required|string',
            'email'    => 'required|string|email|unique:users',
            'password' => 'required|string|confirmed',
        ]);
        $user = new User([
            'name'     => $request->name,
            'email'    => $request->email,
            'password' => bcrypt($request->password), // Hash
        ]);
        $user->save();
        return response()->json([
            'message' => 'Successfully created user!'], 201);
    }

来自docs

您可以指定 bcrypt 和 argon2 哈希驱动程序的轮数,您可以在 config/hashing.php 文件中设置

对于 bcrypt:

$hashed = Hash::make('password', [
    'rounds' => 12,
]);

对于氩气2

$hashed = Hash::make('password', [
    'memory' => 1024,
    'time' => 2,
    'threads' => 2,
]);

意见似乎是 argon2 更安全。我不能声称完全理解为什么,但我认为这与 argon2 的 multi-threading 有关,如果我理解正确的话,它比 bcrypt 更能抵抗 GPU 破解。