Sebagian besar jawaban ini agak salah arah dan menunjukkan kebingungan antara garam dan kunci kriptografi. Tujuan memasukkan garam adalah untuk memodifikasi fungsi yang digunakan untuk hash setiap kata sandi pengguna sehingga setiap hash kata sandi yang disimpan harus diserang secara individual. Satu-satunya persyaratan keamanan adalah mereka unik per pengguna, tidak ada untungnya mereka tidak dapat diprediksi atau sulit ditebak.
Garam hanya perlu cukup lama sehingga garam setiap pengguna akan unik. Garam 64-bit acak sangat tidak mungkin untuk diulang bahkan dengan satu miliar pengguna terdaftar, jadi ini tidak masalah. Garam yang diulang sendiri adalah masalah keamanan yang relatif kecil, memungkinkan penyerang untuk mencari dua akun sekaligus tetapi secara agregat tidak akan mempercepat pencarian banyak di seluruh database. Bahkan garam 32-bit dapat diterima untuk sebagian besar keperluan, dalam kasus terburuk akan mempercepat pencarian penyerang sekitar 58%. Biaya peningkatan garam di luar 64 bit tidak tinggi tetapi tidak ada alasan keamanan untuk melakukannya.
Ada beberapa manfaat untuk juga menggunakan garam di seluruh situs di atas garam per pengguna, ini akan mencegah kemungkinan tabrakan dengan hash kata sandi yang disimpan di situs lain, dan mencegah penggunaan tabel pelangi untuk keperluan umum, meskipun bahkan 32 bit garam cukup untuk membuat tabel pelangi serangan tidak praktis.
Bahkan yang lebih sederhana - dan pengembang selalu mengabaikan hal ini - jika Anda memiliki ID pengguna unik atau nama login, itu berfungsi dengan baik sebagai garam. Jika Anda melakukan ini, Anda harus menambahkan garam di seluruh situs untuk memastikan Anda tidak tumpang tindih dengan pengguna sistem lain yang memiliki ide cemerlang yang sama.