Selasa, 04 November 2025

Perbedaan Hashing, Encoding, dan Enkripsi

Dalam dunia teknologi informasi dan keamanan data, istilah hashing, encoding, dan enkripsi sering digunakan secara bergantian. Padahal, ketiganya memiliki tujuan, cara kerja, dan fungsi yang sangat berbeda.

Kesalahpahaman terhadap konsep ini bisa berujung pada implementasi keamanan yang keliru. Artikel ini akan membahas perbedaan hashing, encoding, dan enkripsi secara sederhana namun tetap akurat.


1. Encoding

Apa itu Encoding?

Encoding adalah proses mengubah data dari satu format ke format lain agar data tersebut dapat dibaca, ditransmisikan, atau disimpan dengan benar oleh sistem yang berbeda.

Encoding tidak bertujuan untuk mengamankan data.

Karakteristik Encoding

  • Bersifat reversible (bisa dikembalikan ke bentuk semula)
  • Tidak menggunakan kunci (key)
  • Fokus pada kompatibilitas dan representasi data

Contoh Encoding

  • Base64
  • URL Encoding
  • ASCII / UTF-8

Contoh penggunaan:

  • Mengirim data biner melalui email
  • Menyimpan file gambar dalam format teks
  • Menghindari karakter ilegal dalam URL

Jika seseorang mengetahui metode encoding-nya, data bisa dikembalikan dengan mudah.


2. Enkripsi

Apa itu Enkripsi?

Enkripsi adalah proses mengubah data menjadi bentuk yang tidak dapat dibaca tanpa kunci rahasia tertentu. Tujuan utamanya adalah menjaga kerahasiaan data.

Karakteristik Enkripsi

  • Bersifat reversible
  • Membutuhkan key untuk enkripsi dan dekripsi
  • Digunakan untuk keamanan dan privasi

Jenis Enkripsi

  1. Enkripsi Simetris

    • Satu key untuk enkripsi dan dekripsi

    • Contoh: AES, DES

  2. Enkripsi Asimetris

    • Sepasang key (public key & private key)

    • Contoh: RSA, ECC

Contoh penggunaan

  • HTTPS (SSL/TLS)

  • Enkripsi file dan disk

  • Aplikasi chat end-to-end encryption

Tanpa key yang benar, data hasil enkripsi hampir mustahil dibaca.


3. Hashing

Apa itu Hashing?

Hashing adalah proses mengubah data menjadi nilai hash dengan panjang tetap menggunakan algoritma hash. Berbeda dari encoding dan enkripsi, hashing tidak bisa dikembalikan ke data asli.

Karakteristik Hashing

  • One-way function (tidak reversible)

  • Tidak menggunakan key (kecuali HMAC)

  • Output selalu memiliki panjang tetap

  • Perubahan kecil pada input menghasilkan hash yang sangat berbeda

Contoh Algoritma Hash

  • SHA-256

  • SHA-512

  • bcrypt

  • Argon2

Contoh penggunaan

  • Penyimpanan password

  • Verifikasi integritas file

  • Digital signature

Sistem yang baik tidak pernah menyimpan password asli, melainkan hash-nya.


Perbandingan Singkat

AspekEncodingEnkripsiHashing
TujuanKompatibilitas dataKeamanan dataVerifikasi & integritas
Bisa dikembalikanYaYa (dengan key)Tidak
Menggunakan keyTidakYaTidak
Keamanan
ContohBase64AES, RSASHA-256

Kesalahan Umum yang Sering Terjadi

  • Mengira Base64 adalah enkripsi

  • Menyimpan password dengan encoding

  • Menggunakan hashing untuk menyembunyikan data rahasia yang perlu dikembalikan

Memahami tujuan dari masing-masing teknik sangat penting agar tidak salah kaprah dalam implementasi.

Secara singkat:

  • Encoding → agar data bisa dibaca sistem lain

  • Enkripsi → agar data tetap rahasia

  • Hashing → untuk verifikasi dan keamanan satu arah

Ketiganya sering digunakan bersamaan dalam sistem modern, tetapi tidak bisa saling menggantikan.


Contoh Penggunaan Encoding (Kapan dan Mengapa Dipakai)

Studi Kasus 1: Mengirim Data Lewat URL

Misalnya Anda ingin mengirim data berikut lewat URL:

username=budi setiaji&role=admin

Masalahnya:

  • Spasi

  • Karakter & dan =

Solusi: URL Encoding

Hasil encoding:

username=budi%20setiaji%26role%3Dadmin

📌 Kenapa encoding dipakai?
Karena browser dan server butuh format yang aman dan standar agar data tidak rusak saat dikirim.


Studi Kasus 2: Menyimpan File Biner dalam Format Teks

Misalnya:

  • Gambar

  • File PDF

  • File attachment email

Solusi: Base64 Encoding

📌 Kenapa encoding dipakai?

  • Sistem email, JSON, dan XML berbasis teks

  • Encoding membuat data biner bisa “menyamar” sebagai teks

⚠️ Catatan penting
Base64 bukan keamanan. Siapa pun bisa decode kembali tanpa password.


Kapan Encoding TIDAK Tepat?

❌ Menyimpan password
❌ Menyembunyikan API key
❌ Mengamankan data sensitif

Encoding hanya soal format, bukan perlindungan.


Contoh Penggunaan Enkripsi (Kapan dan Mengapa Dipakai)

Studi Kasus 1: Login Website (HTTPS)

Saat Anda login ke website:

username: budi password: rahasia123

Tanpa enkripsi:

  • Bisa disadap (sniffing)

  • Password terlihat jelas

Dengan HTTPS (TLS Encryption):

  • Data dienkripsi sebelum dikirim

  • Hanya server yang bisa membaca

📌 Kenapa enkripsi dipakai?
Karena data harus bisa dibuka kembali, tapi hanya oleh pihak yang berwenang.


Studi Kasus 2: Menyimpan Data Rahasia di Database

Contoh data:

  • Nomor KTP

  • Nomor kartu kredit

  • API secret key

Solusi:

  • Enkripsi data sebelum disimpan

  • Dekripsi saat dibutuhkan

📌 Kenapa tidak hashing?
Karena data ini perlu ditampilkan kembali, bukan sekadar diverifikasi.


Studi Kasus 3: Backup File Pribadi

Anda membuat file ZIP berisi:

  • Dokumen kerja

  • Scan identitas

Solusi:

  • ZIP dengan password (AES Encryption)

  • Full disk encryption (BitLocker, LUKS)

📌 Tujuan enkripsi
Jika file bocor atau dicuri, isinya tetap tidak bisa dibaca.


Kapan Enkripsi TIDAK Tepat?

❌ Menyimpan password login
❌ Verifikasi integritas file
❌ Mendeteksi perubahan data


Contoh Penggunaan Hashing (Kapan dan Mengapa Dipakai)

Studi Kasus 1: Penyimpanan Password

Saat user mendaftar:

password: rahasia123

Yang disimpan di database:

hash(rahasia123) → e3b0c44298fc1c...

Saat login:

  • Password di-hash ulang

  • Dibandingkan dengan hash di database

📌 Kenapa hashing dipakai?

  • Password tidak perlu diketahui kembali

  • Jika database bocor, password asli tetap aman

Inilah alasan sistem profesional tidak pernah menyimpan password asli.


Studi Kasus 2: Deteksi File Rusak atau Dimodifikasi

Anda download file ISO Linux.

Langkah:

  1. Hitung hash file (misalnya SHA-256)

  2. Bandingkan dengan hash resmi

Jika beda:

  • File rusak

  • File dimodifikasi

  • Potensi malware

📌 Hashing = sidik jari digital file


Studi Kasus 3: Digital Signature

Pada software atau update sistem:

  • File di-hash

  • Hash ditandatangani secara kriptografi

📌 Peran hashing di sini

  • Menjamin file tidak berubah

  • Menjamin file asli dari sumbernya


Kapan Hashing TIDAK Tepat?

❌ Menyimpan data yang perlu dibaca ulang
❌ Menyembunyikan pesan rahasia
❌ Mengamankan komunikasi dua arah


Ringkasan Praktis: Pakai yang Mana?

Gunakan pertanyaan ini sebagai panduan:

❓ Apakah data perlu dikembalikan ke bentuk asli?

  • ✅ Ya → Encoding atau Enkripsi

  • ❌ Tidak → Hashing

❓ Apakah data bersifat rahasia?

  • ✅ Ya → Enkripsi

  • ❌ Tidak → Encoding

❓ Apakah tujuan hanya verifikasi?

  • ✅ Ya → Hashing


Contoh Keputusan Nyata

KebutuhanTeknik yang Tepat
Password loginHashing
Data login dikirim ke serverEnkripsi
Parameter URLEncoding
API key disimpanEnkripsi
Cek file rusakHashing
Kirim gambar via JSONEncoding

Penutup

Kesalahan paling umum di dunia IT bukan karena kurang alat, tapi karena salah memilih alat.

  • Encoding ≠ Security

  • Enkripsi ≠ Penyimpanan password

  • Hashing ≠ Menyembunyikan data

Memahami Propagasi DNS

Keluarga Ubuntu

Perbedaan Sistem File Linux dan Windows

CGNAT ( Carrier Grade NAT)

Ask Gemini - Youtube

File Inti Web PHP

Sistem Aplikasi Linux

Postingan Lama