یک اشتباه رایج، رمزگذاری (Encryption) رمز عبور است؛ رمزگذاری قابل بازگشت است و اگر کلید لو برود، همه‌ی رمزها لو می‌روند. رمز عبور باید هش شود، نه رمزگذاری.

چرا MD5 و SHA1 کافی نیستند؟

این الگوریتم‌ها برای سرعت طراحی شده‌اند، نه امنیت رمز عبور — دقیقاً همین سرعت به مهاجم اجازه می‌دهد میلیاردها حدس را در ثانیه امتحان کند (Brute Force با GPU).

الگوریتم‌های درست

Argon2، bcrypt و scrypt عمداً کند و «سنگین از نظر حافظه» طراحی شده‌اند تا حدس‌زدن دسته‌جمعی رمز عملاً غیرممکن یا بسیار پرهزینه شود.

Salt چیست و چرا لازم است؟

یک مقدار تصادفی منحصربه‌فرد که به هر رمز قبل از هش اضافه می‌شود، تا دو کاربر با رمز یکسان، هش یکسانی نداشته باشند و از حملات Rainbow Table جلوگیری شود.

برای ذخیره رمز از Argon2، bcrypt یا scrypt استفاده کنید.