3 سال پیش|
برنامهنویسی وب
نحوه رمز نگاری رشتهها در لاراول چگونه است؟
یکی از سادهترین روشهای رمزنگاری یک رشته و ذخیره در دیتابیس در لاراول به صورت زیر است:
Hash::make('plain-text');
که قابل مشاهده است مورد یا رشتهی مورد نظر هش خواهد شد و نوع هش نیز بر مبنای الگوریتم Bcrypt است.
همچنین از Helper زیر نیز میتوان استفاده کرد که نتیجه مشابه خواهد بود:
bcrypt('plain-text');
حال اگر بخواهیم یک رشتهی ساده را با یک رشتهی هش شده مقایسه کنیم (به فرض پسورد وارد شده توسط کاربر با پسورد ذخیره شده در دیتابیس، میتوانیم به صورت زیر عمل کنیم:
if(Hash::check('plain-text' , $password)){
//do something...
}
مثال: در زیر فرض بر این است قبلتر وجود کاربر را بررسی کردهایم و حالا قصد داریم در صورت صحیح بودن پسورد ورودی توسط کاربر، او را از طریق id لاگین کنیم:
if(Hash::check('plain-text' , $password)){
auth()->loginUsingId($user->id);
}
جهت اینکه تعیین کنیم آیا پسورد نیاز به هش مجدد دارد یا خیر:
if (Hash::needsRehash($hashed)) {
$hashed = Hash::make('plain-text');
}
بهروز رسانی: 1403/7/22
توی وبسایتم سعی میکنم محتوایی که تصور کنم ارزشمنده و به بقیه کمکی میکنه رو منتشر کنم. امیدوارم از مطالب وبسایت بتونید استفاده کنید و به کارتون بیاد. در ضمن اگه پروژهی تحت وبی دارید که نیاز به برنامهنویسی و اجرا داره، میتونید با شماره انتهای صفحه با من تماس بگیرید تا در موردش با هم صحبت کنیم.