عند تخزين كلمات المرور كنص صريح، تنكشف كل الحسابات لحظة تسرّب قاعدة البيانات. لذلك تُحوَّل كلمة المرور إلى تجزئة وتُخزَّن، ويُقارَن عند تسجيل الدخول تجزئة المُدخل. وبما أن الأصل لا يُخزَّن، فلا يمكن معرفة كلمة المرور مباشرة حتى لو تسربت.
لكن مجرد تجزئة SHA-256 لا تكفي. فبما أن كلمة المرور نفسها تعطي التجزئة نفسها دائمًا، يستطيع المهاجم المقارنة الجماعية عبر جداول قوس قزح (rainbow tables) التي حسبت مسبقًا تجزئات كلمات المرور الشائعة. ولمنع ذلك يجب إضافة قيمة عشوائية لكل حساب هي الملح (salt) قبل التجزئة.
السرعة أيضًا مشكلة. فـ SHA-256 سريعة جدًا بحيث يمكن للمهاجم تخمين مليارات القيم في الثانية. لذلك تُستخدم لكلمات المرور دوال متخصصة بطيئة عمدًا مثل bcrypt·scrypt·Argon2. وهذه تتيح ضبط عدد التكرارات وتكلفة الذاكرة لإبطاء هجمات القوة الغاشمة بشكل كبير.
خلاصةً، المبادئ الثلاثة لتخزين كلمات المرور هي الملح + تجزئة متخصصة بطيئة + معامل تكلفة كافٍ. فتجزئة SHA-256/512 العادية ملائمة لسلامة الملفات والتوقيع، لكن لتخزين كلمات المرور استخدم خوارزمية متخصصة مثل Argon2.