【发布时间】:2021-06-01 09:33:58
【问题描述】:
我想在 Laravel 中加密密码。但是每次页面刷新时,Hash 或 Crypt 都会再次加密。所以我不使用它。
$pass = Hash::make($user_password);
$pass = Crypt::encrypt($user_password);
如何使用 Hash 或 Crypt 方法进行一次加密?因为我不能用Hash做登录页面。
我解决了这个问题
public function login(Request $request)
{
$email = $request->input('user_email');
$password = $request->input('user_password');
$user = BO_USER::where('email', '=', $email)->first();
if (!$user) {
return response()->json(['success'=>false, 'message' => 'Login Fail, please check email id']);
}
if (!Hash::check($password, $user->password)) {
return response()->json(['success'=>false, 'message' => 'Login Fail, pls check password']);
}
//return response()->json(['success'=>true,'message'=>'success', 'data' => $user]);
return redirect('/dashboard');
}
【问题讨论】:
-
密码不用
Crypt(可以解密),你要用Hash(单向)。除此之外,我不确定您在说什么...典型方法,哈希并保存到数据库,然后将用户输入与保存的密码进行比较。试着更好地解释你的问题;目前有点不清楚。 -
你是什么意思它在每次页面刷新时加密?您在代码库的哪个位置调用了 Hash?在*别,您想做什么?如果你想要一个 laravel 的登录系统,你是否排除了轻风、喷射流和设防?
-
请edit您的问题以删除解决方案并将您的解决方案作为对本帖的回答发布。您可以自行回答,但只能作为单独的帖子进行。