Hashing - Rian010/Journal GitHub Wiki

Apa itu Hashing?

Hashing adalah proses mengubah data dengan ukuran besar (Big Data) menjadi nilai yang lebih kecil dan unik. Nilai ini disebut hash, yang merupakan sidik jari digital dari data.

Fungsi hash adalah algoritma yang digunakan untuk melakukan proses hashing. Algoritma ini menerima data (input) dan menghasilkan nilai hash (output) dengan panjang tetap.

Contoh:

  • Kata sandi: Hashing digunakan untuk menyimpan kata sandi dalam database. Kata sandi diubah menjadi hash, sehingga meskipun database bocor, kata sandi tidak akan terungkap.
  • Verifikasi file: Hash dapat digunakan untuk memverifikasi integritas file. Jika hash file yang diunduh sama dengan hash file yang asli, maka file tersebut tidak diubah.

Karakteristik Hash:

  • Satu arah: Hashing adalah fungsi satu arah, yang berarti tidak mungkin untuk membalikkan hash dan mendapatkan data aslinya.
  • Deterministik: Input yang sama akan selalu menghasilkan output yang sama.
  • Efisien: Fungsi hash harus cepat dan efisien dalam menghitung hash.
  • Keamanan: Hash harus tahan terhadap serangan kriptografi.

Manfaat Hashing:

  • Efisiensi: Hashing memungkinkan penyimpanan data yang lebih efisien.
  • Keamanan: Hashing membantu melindungi data dari peretasan dan manipulasi.
  • Integritas data: Hashing dapat digunakan untuk memverifikasi integritas data.

Penggunaan Hashing:

  • Penyimpanan kata sandi
  • Verifikasi file
  • Tanda tangan digital
  • Blockchain
  • Pencarian data
  • Deteksi duplikasi

Contoh Algoritma Hash:

  • MD5
  • SHA-1
  • SHA-256
  • SHA-512

Kesimpulan:

Hashing adalah teknik yang penting untuk keamanan data dan efisiensi penyimpanan.

Sumber informasi: