Midسختی 3 از ۵· در 25٪ مصاحبههای این حوزه پرسیده شده
چرا رمز عبور باید با Hash و Salt ذخیره شود، نه رمزنگاری معمولی؟
☆نشان کردنپاسخ کوتاه
رمز عبور نیاز به بازگشتپذیری ندارد؛ Hash کند و مقاوم (مثل bcrypt) همراه Salt یکتا، در برابر حملات جدول Rainbow و Brute Force مقاوم است.
پاسخ کامل
اگر رمز عبور فقط رمزنگاری (Encrypt) شود، در صورت لو رفتن کلید، همهٔ رمزها قابل بازیابیاند؛ Hashing یکطرفه است و Salt یکتا برای هر کاربر از تکرار الگوی حمله در مقیاس جلوگیری میکند.
مثال کد
csharp\nstring hash = BCrypt.HashPassword(password);\n
اشتباه رایج
استفاده از یک Hash سریع و عمومی مثل SHA-256 ساده بدون Salt برای رمز عبور.
