Fungsi hash atau one-way hash function adalah one-way function namun juga memiliki karakteristik kompresi. Fungsi hash juga dikenal dengan sebutan fungsi satu arah, karena untuk menghitung suatu nilai hash dari suatu pre image relatif mudah, namun sulit untuk menentukan/menghitung nilai preimage dengan mengetahui nilai hash dari suatu fungsi hash. Fungsi hash disebut juga fungsi kompresi, fungsi kontraksi, message digest, cryptography checksum, digital fingerprint, atau manipulation detecting code (MDC). Fungsi ini dibutuhkan ketika kita menginginkan sidik jari dari suatu pesan, untuk dapat membuktikan atau menjaga keutuhan atau keaslian suatu informasi.
Beberapa karakteristik fungsi hash, antara lain:
- Fungsi hash dapat diimplementasikan untuk input data berapapun panjangnya;
- Fungsi hash menghasilkan output dengan ukuran/ panjang yang tetap;
- Untuk semua nilai input x, y = f(x) mudah untuk dihitung. Dengan kata lain terdapat polynomial time algorithm untuk menghitung y = f(x) dengan mengetahui nilai x.
- Untuk semua nilai y yang berada pada daerah hasil f, dengan mengetahui nilai y , akan sulit untuk mengetahui nilai x. Dengan kata lain dibutuhkan suatu super polynomial time algorithm untuk menyelesaikan permasalahan tersebut.
- Untuk suatu nilai x, secara komputasi sulit untuk mencari x’≠ x, dimana f(x’) = f(x), bila hal ini terjadi maka kasus ini disebut bentrokan (collision).
- Secara komputasi sulit untuk mencari pasangan ( x’, x) dimana x’≠ x dan f(x’) = f(x).
Hmmmmppp, ,, sebenarnya tadi saya ingin menuliskan lebih banyak lagi, tapi berhubung waktu mepet,, lain kali insyaAllah saya sambung,, (nurillll,, sudah berapa banyak tulisan yang kau janjikan ini..!!)

Kira-kira serangan/attack ke fungsi Hash selama ini macem2nya apa aja yah?
Hmmmppp,,, sabar Mas,,, masih belum selesai inih,, ntar ada lanjutannya lagi,, dibahas kok (sekalian buat TA).. ^_^
Bisa dijelasin tentang algoritmaa fungsi hash?? seperti SHA-2? Thx…