سه مورد از خفن ترین الگوریتم های هش پسورد اینا هستن (به ترتیب رتبه):
1- scrypt
2- bcrypt
3- PBKDF2
شاید بپرسید پس چرا از scrypt کم استفاده میشه و بیشتر افراد بجاش اسم از bcrypt میارن.
باید بگم که این بخاطر جدید بودن scrypt است و اینکه به حد اون دو الگوریتم دیگر جا نیافتاده و شناخته نشده و پیاده سازیش در همه جا براحتی در دسترس نیست. البته متخصصان امنیت هم درمورد الگوریتم هایی که زیاد سابقه نداشتن و روشون توسط افراد و متخصصان زیادی در طول زمان قابل توجهی بررسی و تست و تحلیل صورت نگرفته، یک مقدار تردید دارن طبیعتا و بخاطر همین زیاد روی استفاده از اونا پافشاری نمیکنن. اینکه یک الگوریتم مدت زیادی جا افتاده باشه و توسط عدهء زیادی استفاده شده باشه و از زیر تیغ متخصصان و هکرهای زیادی گذشته باشه و تاحالا ضعف جدی درش دیده نشده باشه، باعث میشه ضریب اطمینان از بی نقص بودن اون بالا بره و نسبت بهش اعتماد عمومی بیشتری بوجود بیاد. بخاطر همین، درحال حاضر bcrypt خیلی بیشتر از scrypt شناخته شده است و استفاده میشه؛ البته یک دلیلش هم میتونه این باشه که امنیت bcrypt برای بیشتر برنامه ها درحال حاضر، کم و بیش کافی فرض میشه (بخصوص از این نظر که بیشتر برنامه ها در اون حدی بی نقص و قوی نیستن که امنیت حداکثری هش پسورد در این حد اعلی بخواد نگرانی اصلی در اونا باشه - بهرحال برای برنامه های بسیار حرفه ای و بی نقص، scrypt در آینده بر bcrypt برتری خواهد داشت).
در پستهای بعدی مطالب بیشتری خواهم گذاشت، و همچنین کد PHP برای الگوریتم bcrypt رو درج میکنم.