Hash Generator
Generate hash MD5, SHA-1, SHA-256 untuk verifikasi integritas file, password hashing, atau kebutuhan keamanan lainnya dalam pengembangan web.
Apa Itu Hashing?
Hashing adalah proses kriptografi yang mengubah input data (seperti teks, file, atau password) menjadi string karakter dengan panjang tetap yang unik, yang disebut sebagai "hash" atau "digest".
Sifat utama dari fungsi hash yang baik adalah:
- Deterministik: Input yang sama akan selalu menghasilkan output hash yang sama persis.
- Satu Arah (One-Way): Sangat sulit (hampir mustahil) untuk mengembalikan hash menjadi data aslinya.
- Efek Avalanche: Perubahan kecil pada input (misalnya satu huruf) akan mengubah output hash secara drastis.
Perbedaan Hashing vs Enkripsi
Banyak orang sering tertukar antara keduanya. Berikut perbedaannya:
| Fitur | Hashing | Enkripsi |
|---|---|---|
| Tujuan | Verifikasi integritas data | Kerahasiaan data |
| Arah | Satu arah (Tidak bisa dibalik) | Dua arah (Bisa didekripsi dengan kunci) |
| Output | Panjang tetap (Fixed length) | Panjang bervariasi sesuai input |
Jenis-jenis Algoritma Hash
MD5 (128-bit)
Sangat cepat dan populer, namun tidak aman untuk keamanan password karena rentan terhadap bentrokan (collision). Masih berguna untuk checksum file non-kritis.
SHA-1 (160-bit)
Penerus MD5 yang lebih kuat, namun kini juga dianggap usang (deprecated) oleh raksasa teknologi seperti Google dan Microsoft karena kerentanan keamanan.
SHA-256 (256-bit)
Standar industri saat ini. Digunakan dalam sertifikat SSL/TLS, keamanan Bitcoin, dan banyak aplikasi keamanan modern. Sangat sulit diretas dengan teknologi saat ini.
SHA-512 (512-bit)
Varian SHA-2 dengan output terpanjang. Memberikan tingkat keamanan ekstrem, cocok untuk data yang sangat sensitif atau aplikasi militer/pemerintahan.
FAQ: Pertanyaan Umum
Bisakah saya mendekripsi hash MD5?
Secara teknis tidak bisa. Namun, karena MD5 lemah, hacker menggunakan "Rainbow Tables" (database hash yang sudah dihitung sebelumnya) untuk mencocokkan hash MD5 dengan teks aslinya dalam hitungan detik.
Apa itu "Salt" dalam hashing?
Salt adalah data acak yang ditambahkan ke input sebelum di-hash. Ini mencegah serangan Rainbow Table. Contoh: Hash("password123" + "AcakSalt89").
Algoritma mana yang harus saya gunakan?
Untuk keamanan umum saat ini, gunakan SHA-256. Hindari MD5 dan SHA-1 untuk tujuan keamanan (seperti menyimpan password atau tanda tangan digital).