This article has been translated from English to Malay.
Setakat ini, dalam pelajaran sebelum ni, korang dah belajar apa itu hashing dan macam mana hashing berfungsi.
Tapi untuk betul-betul faham apa yang program khas ni buat, memang best kalau korang tengok contoh sebenar dalam aksi!

Jom kita tengok macam mana proses hashing berfungsi menggunakan fungsi hash sebenar.
Sebab SHA-256 adalah fungsi hash pilihan Bitcoin, jom kita guna ni untuk contoh kita.
Ini adalah input contoh pertama kita:
BabyPips.com sejuk macam ais.
Bila letak dalam fungsi hash SHA-256, ayat ni menghasilkan nilai hash berikut, juga dikenali sebagai “digest” atau sekadar “hash”:
A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57
Korang boleh nampak yang digest ni adalah gabungan huruf dan nombor. Dan ia tepat 64 aksara panjangnya.
Selain daripada tu, sebenarnya tak banyak yang boleh belajar cuma tengok digest ni. Takde corak atau petunjuk apa inputnya. Nampak macam kod rahsia je.Output mungkin nampak rawak. Tapi memang takkan boleh teka apa inputnya hanya dengan tengok output.
Kalau korang jalankan input ni lagi sekali dalam fungsi hash SHA-256, korang akan dapat output (“hash”) yang sama.
Input yang sama akan SENTIASA hasilkan output yang sama.
Sekarang, jom buat satu perubahan halus pada input contoh pertama dan tengok apa yang jadi:
BabyPips.com sejuk macam kutu.
Perasan tak yang huruf “k” ditambah pada permulaan perkataan “ais” untuk jadi “kutu”.
Ini digest baru:
B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95
Sekarang jom bandingkan kedua-duanya:
| Input | Digest |
|---|---|
| BabyPips.com sejuk macam ais. | A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57 |
| BabyPips.com sejuk macam kutu. | B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95 |
Korang boleh nampak yang ni hasil yang jauh berbeza dari digest pertama!
Walaupun input hampir sama, mengubah satu aksara je dah hasilkan output yang berbeza.

Kutu memang menjijikkan, jadi jom buat satu lagi perubahan pada input:
BabyPips.com sejuk macam nasi.
Sekarang jom tengok apa yang jadi:
FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A
Input yang betul-betul berbeza lagi!
Sekarang jom bandingkan semua tiga:
| Input | Digest |
|---|---|
| BabyPips.com sejuk macam ais. | A58E12FAC905B8F84EA2F64F888191A4B66A67CC45F8E7B7B0F94C37A134CB57 |
| BabyPips.com sejuk macam kutu. | B8784EAEB1FC50719B2041FB1AEE30FF91516529CCB65B4B446CC4D5F6B4EB95 |
| BabyPips.com sejuk macam nasi. | FCA7032BE8CF7F3C0DD75B8DEB77412E452EA5E2275BAA4125123CD639ED2C9A |
Memang patut ditekankan yang apa-apa input boleh dimasukkan ke dalam fungsi hash.
Tak kira panjang mana inputnya, output akan selalu sama panjang dan akan nampak sepenuhnya rawak.
Cuba bermain dengan alat ni untuk tengok sendiri:
Cuba buat satu perubahan kecil pada apa yang korang taip dan perhati macam mana hash tu jadi sangat berbeza.
Best kan?! 🤓
Tahniah! Korang dah cipta hash sendiri! 👏