Perbedaan Hashing dan Encryption

 

Ngulik Kode - Dalam dunia programing sering kali kita mendengar istilah "hashing" & "encryption", lalu apa sebenernya itu? dan apakah memiliki perbedaan?


Hashing

Hashing adalah mekanisme pengamanan satu arah sebuah data, artinya setelah data tersebut di hashing kita tidak bisa membukanya kembali, study case yang sering menggunakan metoda hashing adalah ketika kita menyimpan password kedalam database, kenapa menggunakan hashing? untuk mencegah owner applikasi ataupun pihak yang mampu membobol database kita mengetahui password para pengguna aplikasi kita, walaupun sebenernya result hashing bisa ditemukan bila mana pengguna password kita menggunakan password yang mudah ditebak, 

Misal seperti ini : 



Artinya bilamana database kita di bobol oleh pihak yang tidak berwenang (hacker) dan dia mengambil semua data identitas pengguna, salah satunya (username & password) dan mencoba membuat program pencocokan nilai hashing dengan plain text data random yang di input dan menghasilkan result yang sama seperti di database. artinya dia sudah berhasil mengetahui password pengguna aplikasi kita, di sebabkan plain text data password pengguna sangat mudah ditebak seperti gambar di atas. maka dari itu dibuatlah standard strong, middle, low dalam pembuatan sebuah password ketika registrasi account pengguna. untuk mencegah terjadinya hal tersebut.


Nah dari sini sebenernya kita belajar bahwa untuk apa pihak tidak berwenang membuat sebuah program pencocokan tersebut dengan menginputkan random plain text. karena sebenernya hashing tersebut tidak bisa di buka secara langsung, artinya jika plain text tersebut sangat strong butuh berapa lama dia bisa mencocokan hasil hashing tersebut? bagaimana jika penggunak membuat sebuah data plain text seperti ini sebelum di hashing system -> 2021#$akuSayangCil0k$, butuh berapa lama untuk mendapatkan hashing yang cocok? mungkin bisa ratusan tahun!


Encryption

Encryption adalah mekanisme pengamanan sebuah data dimana ketika data tersebut telah selesai di encrypt, itu bisa kita buka tanpa harus melakukan pencocokan hinga ratusan tahun teman-teman hehe, lalu bagaimana membukanya?

Mekanisme membuka hasil encrypt dinamakan sebagain decryption namun menggunakan suatu kunci yang kita sebut sebagai private key/secret key/password, tentunya key tersebut bersifat rahasia, artinya yang mengetahui adalah pihak yang melakukan encryption data dan decryption data tersebut.

Lalu tujuannya untuk apa? melindungi data tersebut dari pihak ketiga.

Mari kita lihat metode sederhana encryption :



Saya menggunakan password : hanyakitayangtahu
Result Hashing :
48+sRrFkffdIn8T2dAdhKNTxxhbIeDep4rYf5IfFsmRglWfypXnU/JGad5mcKR86wLwnVnA1ERJqoT2r7DJic9i1bNb6Cr7mwA4dKlhvJCzqxLpSFJD9kJ+nSd4/Eacz

Lalu bagaimana membuka hasil encryption (decrypt) tersebut tanpa harus membuat program pencocokan seperti saat menggunakn metoda hashing?
kita hanya perlu melakukan proses decryption dengan memasukan nilai password yang sama ketika melakukan encryption, maka akan seperti ini :



Cukup mudah bukan melakukan decryption ketika kita mengetahui password key nya?

Mudah sekali, namun password key ini aka sangat sekali bersifat rahasia artinya pihak ketiga tidak akan pernah bisa membuka data encryption tersebut, ini akan membuat pihak ketiga menyerah dan tak ingin membuang waktunya untuk membukan encryption data tersebut, mungkin akan membutuhkan ribuan tahun lamanya bilamana pihak ketiga tidak pernah mengetahui password key kita, namun akan dengan mudah bahkan cukup hitungan detik membukanya jika pihak ketiga mengetahui nya.

Case encrypt decrypt biasanya digunakan untuk pengiriman message data yang sangat rahasia melalui jaringan.

Conclusion

Hashing dan Encryption memiliki perbedaan perilaku pengamanan sebuah data.

Hashing metoda satu arah sedangkan encryption metoda dua arah, 
artinya data hasil hashing tidak bisa di buka kembali, sedangkan data hasil encryption bisa di buka kembali namun perlu mengetahui private key,secret key/password untuk membukanya.

Rumus hashing dan Encryption pun pastinya berbeda. hashing hanya mengandalkan formula fixed tanpa ada kombinasi password seperti layaknya metode encryption.

Begitu banyak metode dan rumus formula dalam melakukan hashing dan encryption data, ilmu yang membahas hal tersebut dinamakan kriptografi ini adalah bagian ilmu tertinggi dalam bidang komputer dan pastinya tidak mudah untuk di pelajari.


Referensi Tools Encryption :

https://www.gillmeister-software.com/online-tools/text/encrypt-decrypt-text.aspx

Referensi Tools Hashing :

https://emn178.github.io/online-tools/sha256.html 




0 comments

Posting Komentar