如何在 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 破解。
我正在使用 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 破解。