PDA

View Full Version : سوال: درک salt + پسورد در PHP



areeef
شنبه 20 آذر 1395, 12:41 عصر
باسلام، همانطور که اطلاع دارید با تابع password_hash در پی اچ پی میتونیم پسورد هش شده بسازیم که اتوماتیک هم برامون salt میسازه و خروجی مانند زیر میده :

$2y$11$q5MkhSBtlsJcNEVsYh64a.aCluzHnGog7TQAKVmQwO9 C8xb.t89F.
اما در بالا مقدار salt و الگوریتم مشخص است، آیا باید هم مقدار بالا را در دیتابیس سیو کنیم یا salt و الگوریتم رو در جای دیگه ذخیره کنیم و پسورد (هش شده) هم در جای دیگر ؟

چون اگر کرکر به هش بالا دسترسی داشته باشد، هم salt را دارد هم الگوریتم را که به نظر بنده کار درستی نیست، ممنون میشم راهنمایی کنید.

Davidd
شنبه 20 آذر 1395, 14:23 عصر
سلام. تابع هش یک تابع یک طرفه است به این معنی که ورودی تابع تبدیل به یک رشته می شود که از روی این رشته نمی توان ورودی را استخراج کرد. بنابراین با داشتن salt و الگوریتم نمی توان مقدار پسورد را بدست آورد. اما با اینکه هش تابع یک طرفه است، دیتابیس هایی موجوده که پسوردهای انتخاب شده توسط کاربران و مقدار هش شده آنها را دارند و از طریق این دیتابیس می توانند از روی مقدار هش شده، پسورد را بدست آورند. بنابراین برای جلوگیری از سو استفاده با این روش، ابتدا یک رشته تصادفی (Salt( به پسورد اضافه میشه و هش آن محاسبه میشه. با این کار نمیشه با استفاده دیتابیس های مذکور پسورد بدست آورد.