This article has been translated from English to Indonesian.

Apa tujuan dari hashing?

Tujuan utama hashing adalah untuk memverifikasi integritas sebuah data.

Karena hash yang dihasilkan bersifat UNIK terhadap data input, maka hash bertindak sebagai"sidik jari" yangunikdari datainput.

Hal ini membuat hash berguna untuk memverifikasi integritas data yang dikirim melalui saluran komunikasi yang tidak aman seperti internet. Integritas data berarti bahwa data tersebut belum diubah dengan cara yang tidak disetujui.

Nilai hash dari data yang diterima dapat dibandingkan dengan nilai hash data sebelum dikirim untuk menentukan apakah data tersebut telah diubah.

Jika saya memposting pesan dan nilai hash yang saya hasilkan dari pesan tersebut, Anda dapat membuat nilai hash dari pesan yang Anda terima dan membandingkan nilai hash tersebut.

Menggunakan contoh yang sangat sederhana, katakanlah kita akan bertemu untuk makan siang, dan tepat sebelum saya keluar dari pintu, saya ingat saat terakhir kali kita bersama...

Body odor

Meskipun kepribadianmu sangat baik, namun baumu sama sekali tidak enak. 😬

Jadi saya ingin mengirimi Anda pesan, "Tolongpakai deodoran."

Tetapi sebelum saya mengirimkannya, saya menjalankannya melalui fungsi hash (SHA-256). Hash-nya adalah:

33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef

Saya kirimkan hash ini terlebih dahulu kepada Anda.*

KEMUDIAN saya mengirimi Anda pesan teks yang sebenarnya.

Setelah Anda menerima pesan saya, Anda akan berpikir, "WTF? Apakah dia benar-benar baru saja mengatakan itu kepada saya? Atau apakah pesan tersebut dicegat selama transit dan pesan aslinya diubah?"

Armpit stinks

Jadi, Anda menjalankan pesan tersebut melalui fungsi hash yang sama.

33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef

Anda kemudian membandingkan hash Anda dengan hash yang ada sebelum pesan teks tersebut.

Jika kedua nilai hash tersebut sama, maka hal ini membuktikannya:

  1. Pesan tersebut dikirim dengan benar.
  2. Ketiak Anda benar-benar bau!
  3. Pesan tersebut tidak sengaja diubah oleh seseorang antara saya yang mengirimkannya kepada Anda dan Anda yang menerimanya.

Tentu saja, di dunia nyata, komputer k ital ah yang melakukan semua ini untuk kita.

Dan semoga ketiak Anda tetap wangi. 😅

*Secara teknis, sebelum saya mengirimkan hash kepada Anda, hash tersebut harus dilindungi dengan suatu cara, tetapi saya ingin membuat contoh yang sederhana. Bagaimana hash tetap terlindungi selama transit akan dibahas dalam pelajaran selanjutnya.

Contoh Hashing di Dunia Nyata: Kata Sandi Online

Ini mungkin mengejutkan Anda, tetapi Anda mungkin menemukan hashing dalam kehidupan sehari-hari Anda .... setiap kali Anda masuk untuk memeriksa email Anda. 📧

Email uses hashing

Ketika Anda membuat alamat email dan kata sandi, penyedia email Anda mungkin tidak menyimpan kata sandi yang sebenarnya.

Sebaliknya, penyedia email Anda menjalankan kata sandi melalui fungsi hash dan menyimpan hash kata sandi Anda.

Setiap kali Anda mencoba masuk ke akun email Anda, penyedia email akan meng-hash kata sandi yang ANDA masukkan dan membandingkan hash ini dengan hash yang telah disimpan.

Hanya jika kedua hash tersebut cocok, maka Anda diizinkan untuk mengakses email Anda.

Mari kita lihat mengapa mereka TIDAK menyimpan kata sandi Anda yang sebenarnya...

Password in Plaintext

Jika kata sandi yang sebenarnya disimpan, dan peretas masuk ke dalam sistem mereka, mereka bisa mencurinya. Hal ini tentu saja tidak baik bagi pengguna yang menggunakan kata sandi yang sama untuk beberapa situs web!

Solusinya adalah dengan meng-hash kata sandi...

Hash Pasword

Dengan meng-hash kata sandi, perusahaan melindungi informasi pengguna. Bahkan jika peretas membobol sistem, mereka tidak akan memiliki akses ke kata sandi yang sebenarnya, hanya hash-nya saja.

Ingat, hash tidak dapat diubah sehingga peretas tidak mungkin mengetahui kata sandi yang sebenarnya hanya dengan melihat hash. Hash memastikan bahwa data disimpan dalam keadaan teracak, sehingga lebih sulit untuk dicuri.
Password Hashed and Protected

Setiap kali Anda masuk, penyedia email Anda tidak menyimpan kata sandi teks biasa, yang mereka perlukan hanyalah hash.

Ketika Anda memasukkan kata sandi Anda, kata sandi tersebut dijalankan melalui fungsi hash.

Hasilnya dicocokkan dengan hash yang disimpan dalam basis data.

Jika nilai hashnya sama, maka kata sandi tersebut benar.

Kata sandi yang salah dimasukkan akan menghasilkan hash yang berbeda dari yang disimpan. Hash tidak akan cocok, sehingga upaya login Anda akan GAGAL.

Jadi seperti yang Anda lihat, fungsi hash mengacaukan data dan membuatnya tidak dapat dibaca. Bahkan jika peretas mendapatkan akses ke server penyedia email Anda, detail yang disimpan tidak dapat diacak.