Hal ini didokumentasikan dalam crypt(3)
's manualnya , yang Anda dapat menemukan melalui shadow(5)
‘s manualnya , atau passwd(5)
's . Tautan tersebut sesuai untuk sistem berbasis Linux modern; deskripsinya ada:
Jika garam adalah string karakter yang dimulai dengan karakter "$ id $" diikuti oleh string yang diakhiri oleh "$", maka hasilnya memiliki bentuk:
$id$salt$encrypted
id mengidentifikasi metode enkripsi yang digunakan sebagai ganti DES dan ini kemudian menentukan bagaimana sisa kata sandi diinterpretasikan. Nilai id berikut ini didukung:
ID | Method
─────────────────────────────────────────────────────────
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)
Blowfish, juga dikenal sebagai bcrypt
, juga diidentifikasi oleh prefiks 2
, 2b
, 2x
, dan 2y
(lihat dokumentasi PassLib ini ).
Jadi, jika kata sandi hash disimpan dalam format di atas, Anda dapat menemukan algoritma yang digunakan dengan melihat id ; jika tidak, itu adalah crypt
algoritma DES default (dengan hash 13 karakter), atau crypt
DES "besar" (diperluas untuk mendukung kata sandi 128 karakter, dengan panjang hash hingga 178 karakter), atau BSDI memperpanjang DES (dengan _
awalan diikuti oleh hash 19 karakter).
Beberapa distribusi menggunakan libxcrypt yang mendukung dan mendokumentasikan beberapa metode lagi:
y
: yescrypt
gy
: gost-yescrypt
7
: scrypt
sha1
: sha1crypt
md5
: SunMD5
Platform lain mendukung algoritma lain, jadi periksa halaman crypt
manual di sana. Sebagai contoh, OpenBSDcrypt(3)
hanya mendukung Blowfish, yang diidentifikasi menggunakan id "2b".