Authentication Unique Keys And Salts Now
// Login: Verify password async function loginUser(password, storedHash) const isValid = await bcrypt.compare(password, storedHash); return isValid;
"password123" → SHA256 → "ef92b778b..." (same for all users) With a salt, identical passwords become different: authentication unique keys and salts
User A: "password123" + "sA1kL9" → "3d4f..." User B: "password123" + "jF8zQ2" → "a1e5..." A rainbow table is a precomputed list of password → hash mappings. Without salts, an attacker with a 1 TB rainbow table can crack most unsalted hashes in minutes. storedHash) const isValid = await bcrypt.compare(password