netwons

مشکل در مقایسه نکردن پسورد داخل دیتابیس با پسورد وارد شده در لاکین

netwons ۱۳۹۸/۰۵/۰۲ مباحث عمومی برنامه‌نویسی

الان کد من اینه که خودم ریجسترو لاگین نوشتم از لاگین و ریجستر لاراول استفاده نکردم public function login2(\Illuminate\Http\Request $request) { $tt= session()->get('login'); //$re=encrypt($request->get('password')); $y=Hash::make($request->get('password')); if(preg_match("/^09[0-9]+.{8}$/", $tt)){ if(User::where([['mobile',$tt],['password',$y]])->first()){ return redirect('index'); }else{ return redirect("login2")->withErrors("رمز اشتباه است"); } }else{ if(User::where([['email',$tt],['password',$request->get('password')]])->first()){ return redirect('index'); }else{ return redirect("login2")->withErrors("رمز اشتباه است"); } } } اما پسورد دیتابیس با پسورد که وارد میکنم با خم برابر نیست اما زمانیکه پسورد دیتابیس رو از حالت انکریپت در می آورم درست میشه ‍‍‍```

پاسخ‌ها به این تاپیک
محمدحسین زرچی
محمدحسین زرچیدولوپر و علاقه‌مند به ساخت ربات
۱۳۹۸/۰۶/۲۲

من سوالتون رو متوجه نشدم ولی اینو بهتون بگم موقعی که میخواید پسورد وارد شده رو با پسورد دیتابیس چک کنید یا باید انکریپت شده پسورد کاربر رو با پسورد دیتابیس چک کنید یا دیکرپت شده پسورد دیتابیس رو با پسورد کاربر چک کنید.

$userPass = ...
$dbPass = ...

// way one:
if (encript($userPass) == $dbPass) ...

// way two:
if ($userPass == decript($dbPass)) ...

این قطعه کد رو برای فهم بیشتر درمورد آنچه گفتم نوشتم اگر نه توابعی که استفاده کردم صرفا نمایشی است.