راکت
حل شده

اعتبار سنجی پسورد

4 پاسخ

سلام وقت بخیر
dd(Hash::check($currentPass . " " . $admin->password)
چرا پسورد رو میخوام هش کنم و با پسورد فعلی ادمین مقایسه کنم یکی در نمیاد با اینکه مقدار اولیشون یکیه؟
هر سری هش پسورد تغییر میکنه

ثبت پرسش جدید

پاسخ‌ها

4
احسان داوری
احسان داوری
@ehsndvr

تخصص: برنامه نویس

بهترین پاسخ

شما نمیتونید مقداری رو هش کنید و با مقدار هش شده دیگه مقایسه کنید...
وقتی شما عبارتی رو هش میکنید دیگه نمیتونید اون رو بازیابی کنید ، فقط قابل مقایسه با مقدار اصلیش هست.
شما وقتی رمزعبور ادمین رو گرفتین و داخل متغیر currentPass ذخیره کردین باید همون مقدار اصلی رو با مقدار هش شده داخل دیتابیس مقایسه کنید که به شما مقدار true یا false رو بر میگردونه.

احسان داوری
احسان داوری
@ehsndvr

تخصص: برنامه نویس

سلام دوست عزیز
اگر از کدی که گذاشتید دارید برای بررسی هش استفاده میکنید ... کد شما اشتباهه ...
بررسی عبارت هش شده باید به این صورت نوشته:

Hash::check($input, $hash)
--------------------------
[1] > $pw = 123456;
// 123456
[2] > $hashed = Hash::make($pw);
// '$2y$10$xSugoyKv765TY8DsERJ2/.mPIOwLNdM5Iw1n3x1XNVymBlHNG4cX6'
[3] > Hash::check($hashed, $pw);
// false
[4] > Hash::check($pw, $hashed);
// true

شما هم باید به همین بررسی کنید :

dd(Hash::check($admin->password,$currentPass))
Aa
Aa
@AaaAaa2

تخصص: توسعه دهنده

@ehsndvr من یه فرم دارم که ادمین میتونه اطلاعات خودشو ویرایش کنه میخوام وقتی که داره ویرایش میکنه اول فیلد currentPass رو که اعتبار سنجی کردم رو هش کنم و با پسوردی که داخل دیتابیس ذخیره کردم مقایسه کنم
برای اینکار باید چیکار کنم؟

شاید پاسخ شما همین‌جا باشد

میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

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

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

ورود یا ثبت‌نام