Banyak yang masih bingung memahami apa perbedaan antara encoding, encryption, hashing, dan obfuscation.
Berikut penjelasannya:
Quote:
ENCODING
Tujuan encoding adalah mentransformasi data sehingga bisa dikonsumsi secara aman dan benar oleh berbagai tipe sistem yang berbeda-beda, contohnya binary data yang dikirim melalui email, atau special character di laman web. Tujuannya adalah untuk memastikan data bisa digunakan secara benar, bukanmelindungi kerahasiaan data.
Encoding mentransformasikan data ke format lain menggunakan schema yang tersedia secara terbuka sehingga mudah untuk ditransformasi balik ke keadaan semula. Encoding tidak membutuhkan key. Yang dibutuhkan hanyalah algoritma yang digunakan.
Contoh: ASCII, Unicode, URL Encoding, Base64
Quote:
ENCRYPTION
Tujuan encryption adalah mentransformasi data dengan tujuan menjaga kerahasiaannya dari pihak lain, misalnya mengirimkan pesan yang hanya dapat dibaca oleh orang yang berhak, atau mengirim password melalui internet.
Encryption mentransform data ke dalam format lain sedemikian rupa sehingga hanya orang yang berhak saja yang bisa melakukan transformasi balik. Encryption menggunakan key yang dirahasiakan, bersama dengan data biasa dan algoritma, untuk menjalankan encryption. Dengan demikian, diperlukan data yang telah terenkripsi, algoritma, dan key untuk mendapatkan data asli kembali.
Contoh: AES, Blowfish, RSA
Quote:
HASHING
Hashing bertujuan memastikan integritas data, sehingga kita mengetahui manakala terjadi modifikasi pada data tersebut. Hashing memproses sembarang input, kemudian menghasilkan fixed-length string dengan atribut:
Input yang sama akan selalu menghasilkan output yang sama.
Input yang berbeda menghasilkan output yang berbeda.
Tidak bisa melakukan reverse dari output menjadi input.
Modifikasi apa pun pada input akan menghasilkan perubahan drastis pada output.
Hashing digunakan secara bersamaan dengan proses otentifikasi untuk memberikan bukti kuat bahwa pesan yang dikirimkan tidak dimodifikasi. Hal ini dilakukan dengan memberikan melakukan hashing kepada data, kemudian melakukan signing dengan private key.
Ketika pesan sampai ke penerima, mereka bisa melakukan validasi signature dari hash menggunakan public key, melakukan hashing dan membandingkan dengan hash yang telah diberi signature oleh pengirim. Jika cocok, berarti pesan tidak termodifikasi, dan dikirim oleh orang yang benar.
Contoh: SHA-3, MD5 (obsolete)
Quote:
OBFUSCATION
Obfuscation bertujuan membuat sesuatu menjadi lebih sulit dipahami, biasanya dilakukan untuk membuat sesuatu lebih sulit dihack atau dibajak.
Salah satu contoh yang umum adalah obfuscation pada source code agar tidak mudah dilakukan proses reverse-engineering dari binary-nya.
Contoh: ProGuard
Sumber :
Linkdan sedikit perbaikan dari saya.
