Dalam fungsi hashing standar (mis., Kata sandi UNIX di / etc / shadow) garam disimpan sebagai bagian dari hash.
Lewati nilai hash yang disimpan sebagai garam dan Anda harus mendapatkan hasil yang benar.
Nilai kata sandi hash di / etc / shadow sebenarnya adalah $ delimited record. Misalnya, kami memiliki hash kata sandi 'blarg' ini:
$1$KfcI/JTQ$b5VTf4i9Mnf6QFgLuVZNM0
Ada tiga bidang yang dipisahkan oleh $ 's yaitu
- Fungsi hash (dalam hal ini '1', mewakili MD5)
- Garam (yaitu 'KfcI / JTQ')
- Nilai hash (yaitu 'b5VTf4i9Mnf6QFgLuVZNM0')
Jika Anda menggunakan mkpasswd beberapa kali, hash akan berubah.
$ mkpasswd -m md5 blarg
$1$Gst52IWk$8ARVeSlpkcZOlyKV10Slu/
$ mkpasswd -m md5 blarg
$1$JeqRviA/$GnH/AvGnZEG9wLfJjiaAt1
Namun, dengan menambahkan garam (yaitu, bidang kedua) dari nilai hash di atas, kita dapat mencocokkannya dengan hash asli:
$ mkpasswd -m md5 -S KfcI/JTQ blarg
$1$KfcI/JTQ$b5VTf4i9Mnf6QFgLuVZNM0
Anda juga dapat meneruskan hash seluruh kata sandi (meskipun menghilangkan fungsi hash).
$ mkpasswd -m md5 -S KfcI/JTQ$b5VTf4i9Mnf6QFgLuVZNM0 blarg
$1$KfcI/JTQ$b5VTf4i9Mnf6QFgLuVZNM0
Di Linux jenis hash dapat dikontrol di /etc/login.defs. Berhati-hatilah saat mengubah ini, Anda dapat sepenuhnya mengunci diri dari sistem. Saya sarankan membaca halaman manual dengan cermat khusus melihat judul MD5_CRYPT_ENAB dan ENCRYPT_METHOD.