کلاس آماده برای Hash کردن پسورد در php

شهریور ۱۸, ۱۳۹۴ توسط : سعید

سلام

همینطور که میدونید ذخیره پسورد در دیتابیس دیگه به صورت md5 یا sha1 نیست و این روشها به دلیل کرک شدن دیگه مورد استفاده قرار نمیگیرن. برای همین توی این پست یه کلاس معرفی میکنم بهتون که کار هش کردن پسورد رو با نهایت امنیت انجام میده.

این کلاس از تابع crypt در php و از الگوریتم Blowfish برای هش کردن پسورد استفاده میکنه.ساختار کلاس خیلی ساده است اگر دوست داشتید میتونید یه نگاه به سورسش بندازید.

برای استفاده ازین کلاس اول دانلودش کنید :

http://www.openwall.com/phpass/phpass-article-3.zip

بعد از حالت فشرده خارجش کنید.

توی پروژه require کنید و ازش استفاده کنید :

require('PasswordHash.php');
$pwdHasher = new PasswordHash(8, FALSE);
 $hash = $pwdHasher->HashPassword( "YOUR PASS");

 

کدهای بالا طریقه hash کردن پسورد رو نشون میده.حالا برای اینکه بخوایم ببینیم پسورد وارد شده توسط کاربر درسته یا خیر از کدهای زیر استفاده میکنیم :

 

$checked = $pwdHasher->CheckPassword($password, $hash);
if ($checked) {
    echo 'password correct';
} else {
    echo 'wrong credentials';
}

خب مقدار $hash مقداری هست که توی دیتابیس ذخیره شده و مقدار متغیر $pass توسط کاربر وارد میشه.
اگر این دو باهم برابر بودن نتیجه True برمیگرده.
موفق باشید

بازدید : ۱۷۲۸

علی مرادی
شهریور ۱۹, ۱۳۹۴ @ ۸:۴۴ ق.ظ

سلام عالی بود سعید جان

پاسخ دادن
امید
آبان ۱۷, ۱۳۹۴ @ ۳:۳۱ ب.ظ

سلام من از صفحه هات وب اصولا پرینت میزنم و باتوجه به اسم وبسایت تون فکر نمیکردم این بخش (پرینت) رو بهینه نکرده باشید
لطفا هرچه سریع تر صفحه هات سایت تون رو برای پرینت زدن بهینه کنید
باتشکر

پاسخ دادن
امیر
بهمن ۸, ۱۳۹۴ @ ۱۲:۱۵ ب.ظ

این به کمک تابع داخل خود php هست اما اگه امن باشه خیلی بهتر از استفاده از کلاس های دیگر است .
https://gist.github.com/nikic/3707231

پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*