Salt
Penggunaan hash untuk menyimpan password merupakan cara yang standar di berbagai aplikasi. Cara ini sederhana, tapi hash saja memiliki kelemahan:
- jika ada dua atau lebih orang passwordnya sama, maka akan terlihat bahwa hashnya sama.
- bisa dilakukan dictionary attack. Artinya: hash semua kata di kamus sekali, lalu cocokkan hashnya
Cara yang lebih baik adalah dengan menambahkan salt, berupa beberapa karakter random yang berbeda untuk tiap entry. Jadi misalnya jika password untuk user1 adalah 123, kita bisa menghasilkan salt random misalnya “xcd”, lalu salt ini dihash bersama password hash(“xcd”+”123”). Jika hash yang dipakai adalah MD5, maka hasilnya:
4c88e409f0d1938d4f0adf7bdc896fbe
Di dalam database atau file, kita perlu menyimpan salt yang dipakai: “xcd”, misalnya seperti ini: xcd$4c88e409f0d1938d4f0adf7bdc896fbe
Lanjutkan membaca “Fungsi Hash Kriptografi (Bagian 2)”