Skip to main content

NETWORK SECURITY

Perbedaan Hashing dan Enkripsi dalam Kriptografi

Perbedaan hashing dan enkripsi terletak pada tujuannya: hashing mengubah data menjadi sidik jari berukuran tetap yang tidak dirancang untuk dikembalikan, sedangkan enkripsi mengunci data menjadi bentuk yang tidak terbaca dan bisa dibuka kembali oleh pemegang kunci yang tepat. Keduanya sering tertukar, padahal salah memilih bisa berakibat fatal, misalnya menyimpan kata sandi pengguna dengan cara yang bisa dibuka kembali.

Perbedaan hashing dan enkripsi terletak pada tujuannya: hashing mengubah data menjadi sidik jari berukuran tetap yang tidak dirancang untuk dikembalikan, sedangkan enkripsi mengunci data menjadi bentuk yang tidak terbaca dan bisa dibuka kembali oleh pemegang kunci yang tepat. Keduanya sering tertukar, padahal salah memilih bisa berakibat fatal, misalnya menyimpan kata sandi pengguna dengan cara yang bisa dibuka kembali. Artikel ini menjelaskan cara kerja, contoh pemakaian, dan kapan memilih masing-masing.

Apa Itu Hashing?

Hash function adalah fungsi yang mengubah data berukuran berapa pun menjadi keluaran dengan panjang tetap. Glosarium NIST menyebut fungsi hash yang disetujui dirancang memiliki dua sifat: satu arah, artinya secara komputasi tidak praktis mencari masukan dari keluaran yang diketahui, dan tahan tabrakan (collision-resistant), artinya sulit menemukan dua masukan berbeda yang menghasilkan keluaran sama. Perubahan satu karakter pada masukan menghasilkan hash yang sama sekali berbeda.

NIST saat ini menyetujui keluarga SHA-2 (FIPS 180-4), seperti SHA-256 dan SHA-512, serta keluarga SHA-3 (FIPS 202). SHA-1 sudah tidak disetujui untuk sebagian besar pemakaian. NIST menghentikannya untuk tanda tangan digital sejak akhir 2013. Informasi lengkapnya ada di halaman fungsi hash NIST.

Untuk apa hashing dipakai?

  • Memeriksa integritas berkas. Penyedia perangkat lunak menerbitkan hash unduhan, dan Anda mencocokkannya dengan hash berkas yang Anda terima untuk memastikan tidak berubah.
  • Menyimpan kata sandi. Sistem menyimpan hash, bukan kata sandi aslinya.
  • Tanda tangan digital dan sertifikat. Hash dokumen ditandatangani, bukan seluruh dokumen.
  • Pengindeksan dan deteksi duplikat. Hash membantu mengenali data yang sama dengan cepat.

Apa Itu Enkripsi?

Enkripsi mengubah data asli (plaintext) menjadi data terenkripsi (ciphertext) memakai algoritma dan kunci. Proses kebalikannya, dekripsi, mengembalikan data asli dan hanya berhasil dengan kunci yang benar. Kerahasiaan terjaga karena algoritmanya terbuka dan teruji, sedangkan yang dirahasiakan adalah kuncinya.

Enkripsi simetris dan asimetris

Pada enkripsi simetris, kunci yang sama dipakai untuk mengunci dan membuka data. Contoh yang paling luas dipakai adalah AES (Advanced Encryption Standard) pada FIPS 197, yang memiliki varian AES-128, AES-192, dan AES-256 dengan blok data 128 bit. Enkripsi asimetris memakai sepasang kunci, publik untuk mengunci dan privat untuk membuka, sehingga dua pihak bisa berkomunikasi aman tanpa berbagi rahasia sebelumnya. Kombinasi keduanya menopang TLS pada koneksi HTTPS yang Anda pakai setiap hari.

Di mana enkripsi dipakai?

  • data yang bergerak, seperti HTTPS, VPN, dan pesan terenkripsi;
  • data yang tersimpan, seperti enkripsi disk laptop, ponsel, dan cadangan;
  • data sensitif di basis data, misalnya nomor identitas atau informasi kesehatan yang harus bisa dibaca kembali oleh sistem yang berwenang.

Perbandingan Hashing dan Enkripsi

  • Arah proses. Hashing satu arah. Enkripsi dua arah karena ada dekripsi.
  • Kunci. Hashing biasa tidak memakai kunci. Enkripsi bergantung pada kunci.
  • Panjang keluaran. Hash berukuran tetap, misalnya 256 bit untuk SHA-256. Ciphertext mengikuti ukuran data asli.
  • Tujuan utama. Hashing menjaga integritas dan verifikasi. Enkripsi menjaga kerahasiaan. Keduanya terkait prinsip CIA triad.
  • Pemulihan data. Dari hash Anda tidak mendapatkan data asli. Dari ciphertext Anda mendapatkannya kembali dengan kunci.

Base64 dan sejenisnya adalah encoding, bukan keduanya. Encoding hanya mengubah format agar mudah dikirim dan siapa pun bisa membalikkannya tanpa kunci, jadi jangan menganggapnya sebagai perlindungan.

Bagaimana Menyimpan Kata Sandi dengan Benar?

Untuk kata sandi, jawabannya hashing, bukan enkripsi. OWASP Password Storage Cheat Sheet menyatakan kata sandi harus di-hash dengan algoritma adaptif modern, bukan dienkripsi atau disimpan polos, karena sistem hanya perlu memverifikasi, bukan membaca kembali. Urutan preferensinya adalah Argon2id, scrypt (bila Argon2id tidak tersedia), bcrypt untuk sistem lama, dan PBKDF2 bila kepatuhan FIPS-140 diperlukan. Setiap kata sandi wajib memakai salt yang acak dan unik, sehingga dua pengguna dengan kata sandi sama menghasilkan hash berbeda. Parameter minimalnya dapat dibaca di OWASP Password Storage Cheat Sheet.

Fungsi hash cepat seperti SHA-256 cocok untuk memeriksa berkas, tetapi bukan pilihan untuk kata sandi, karena kecepatan justru membantu penebak yang mencoba banyak kemungkinan. Algoritma khusus kata sandi sengaja dibuat lambat dan menuntut memori. Auditor keamanan memakai alat seperti Hashcat secara sah pada lingkungan yang berizin untuk menilai apakah kebijakan kata sandi cukup kuat. Pelajari ancamannya di artikel password attack.

Contoh Hashing dan Enkripsi dalam Kehidupan Sehari-hari

Saat Anda login ke sebuah situs, sistem yang dirancang dengan benar tidak membandingkan kata sandi Anda dengan teks asli, melainkan menghitung hash dari yang Anda ketik lalu mencocokkannya dengan hash tersimpan. Saat Anda membuka situs perbankan, enkripsi pada koneksi HTTPS melindungi data yang lewat agar tidak terbaca pihak di tengah jaringan. Saat Anda mengunduh aplikasi, hash yang dipublikasikan membantu memastikan berkas tidak berubah di perjalanan. Ketiganya berjalan bersama dalam satu aktivitas sederhana.

Kesalahan Umum yang Perlu Dihindari

  • Menyimpan kata sandi pengguna secara terenkripsi sehingga tim atau penyerang yang mendapat kuncinya bisa membaca semuanya.
  • Memakai MD5 atau SHA-1 untuk keamanan, padahal keduanya sudah tidak layak untuk tujuan itu.
  • Menyimpan kunci enkripsi bersebelahan dengan data yang dilindunginya.
  • Membuat algoritma kriptografi sendiri. Pakai standar yang sudah diuji publik.
  • Menyamakan encoding dengan enkripsi.

Pertanyaan yang Sering Diajukan

Apakah hash bisa dikembalikan menjadi data asli?

Tidak dengan cara dekripsi, karena fungsi hash dirancang satu arah. Namun, jika masukan aslinya pendek atau mudah ditebak, seseorang dapat menebak kandidat lalu membandingkan hash-nya. Karena itu kata sandi harus panjang dan disimpan dengan algoritma adaptif serta salt.

Mana yang lebih aman, hashing atau enkripsi?

Keduanya menjawab kebutuhan berbeda, jadi tidak bisa dibandingkan langsung. Untuk memverifikasi kata sandi atau integritas berkas pakai hashing. Untuk melindungi data yang harus dibaca kembali pakai enkripsi.

Apakah salt sama dengan kunci enkripsi?

Bukan. Salt adalah nilai acak yang ditambahkan sebelum hashing agar hash dua kata sandi yang sama berbeda. Salt tidak harus dirahasiakan, sedangkan kunci enkripsi harus dijaga ketat.

Apakah Caesar cipher termasuk enkripsi modern?

Bukan. Caesar cipher adalah contoh klasik yang mudah dipelajari tetapi sangat lemah. Anda dapat mencobanya sebagai latihan di artikel Caesar cipher dengan Python.

Kesimpulan

Ingat singkatnya: hashing untuk verifikasi dan integritas, enkripsi untuk kerahasiaan, encoding hanya untuk format. Pilihan yang tepat sejak desain mencegah kebocoran kecil berubah menjadi bencana. Jika Anda ingin memperdalam kriptografi dan keamanan aplikasi, Linuxhackingid menyediakan kursus keamanan siber yang bisa Anda jelajahi.

Every article is reviewed by the practice lead who ran the work before it is published.

All insights

MORE ARTICLES

newest first
CYBER SECURITY ACADEMY
October 29, 20267 read

Security Awareness Training untuk Karyawan

Security awareness training adalah program pelatihan yang membekali karyawan dengan pengetahuan dan kebiasaan untuk mengenali, menghindari, dan melaporkan ancaman siber dalam pekerjaan sehari-hari. Firewall dan antivirus tidak bisa menghentikan karyawan yang tertipu email palsu atau menyerahkan kata sandi kepada orang yang mengaku dari tim IT. Artikel ini membahas materi inti, cara menyusun program yang efektif, dan cara mengukur hasilnya.

Ditulis oleh Walid Badeges & Tim Akademi Linuxhackingid | Mentor Karier & Sertifikasi Keamanan Siber
DEFENSIVE SECURITY
October 29, 20267 read

Password Manager: Fungsi dan Cara Memilih yang Aman

Password manager adalah aplikasi yang menyimpan, membuat, dan mengisikan kata sandi Anda secara otomatis, sehingga Anda bisa memakai kata sandi unik di setiap akun tanpa harus menghafalnya. Dengan satu kata sandi utama yang kuat, semua kredensial lain tersimpan di dalam brankas terenkripsi. Artikel ini menjelaskan fungsinya, jenis-jenisnya, dan cara memilih password manager yang aman.

Ditulis oleh Tim Blue Team & SOC Analyst Linuxhackingid | Ditinjau oleh Praktisi Defensive Security
DEFENSIVE SECURITY
October 29, 20267 read

Autentikasi Dua Faktor (2FA): Pengertian dan Cara Mengaktifkannya

Autentikasi dua faktor atau 2FA adalah lapisan keamanan tambahan yang meminta dua bukti identitas berbeda sebelum akun bisa dibuka, sehingga kata sandi yang bocor saja tidak cukup bagi orang lain untuk masuk. Mengaktifkannya hanya butuh beberapa menit dan termasuk langkah paling efektif untuk melindungi email, media sosial, dan akun keuangan. Artikel ini menjelaskan cara kerjanya, jenis metodenya, mana yang lebih kuat, serta cara mengaktifkannya.

Ditulis oleh Tim Blue Team & SOC Analyst Linuxhackingid | Ditinjau oleh Praktisi Defensive Security

Get the next advisory first. No digest, no noise.

One email when something genuinely matters - or follow the community channels where we post first.

Join Telegram

NEXT STEP

Talk to an operator, not a sales desk.

A short scoping call, then scope, schedule and cost in writing within 2 working days.

METHODOLOGY & COMPLIANCE
ISO 27001PCI-DSSOJKUU PDP