Apakah itu penting?
Garam memiliki dua tujuan. Itu membuatnya tidak praktis untuk menggunakan tabel besar dari kata sandi yang sudah di prehashed ("rainbow tables") dan itu membuat kata sandi yang identik terlihat berbeda dalam daftar hash. Membuat kata sandi yang identik terlihat berbeda membantu menghindari masalah ketika beberapa orang menggunakan satu kata sandi tertentu, yang mungkin merupakan kata sandi yang umum lemah.
Oleh karena itu, setiap akun harus memiliki garam uniknya sendiri, dan garamnya tidak boleh terlalu diprediksi, dalam arti tidak akan ada kelompok garam yang mungkin terjadi. (Jika banyak situs dimulai pada 1 dan dihitung, orang jahat dapat membuat tabel pelangi termasuk garam jumlah rendah, misalnya.) Mereka tidak harus acak dalam arti apa pun selain yang umumnya tidak dapat diprediksi. Mereka bukan rahasia lagi dari hash itu sendiri, sehingga mereka tidak perlu secara khusus tidak dapat diterima.
Gunakan metode yang mudah untuk menghasilkan garam. Jika ada banyak nilai garam potensial (sistem Unix awal sering menggunakan dua byte, untuk jumlah 65536) dibandingkan dengan jumlah akun, penugasan semi-acak hampir tidak akan pernah memberikan garam duplikat.