Cara menghasilkan hash MD5, SHA-256, dan lainnya
Hashing mengonversi masukan apa pun — kata sandi, berkas, pesan — menjadi string panjang tetap. Masukan yang sama selalu menghasilkan hash yang sama, tetapi perubahan sekecil apa pun pada masukan menghasilkan hash yang sepenuhnya berbeda. Ini membuat hashing penting untuk verifikasi integritas, penyimpanan kata sandi, dan tanda tangan digital.
Bagaimana hashing bekerja
Fungsi hash mengambil masukan dengan ukuran apa pun dan menghasilkan keluaran ukuran tetap:
| Masukan | Hash SHA-256 (16 karakter pertama) |
|---|---|
| hello | 2cf24dba5fb0a30e... |
| Hello | 185f8db32271fe25... |
| hello! | ce06092fb948d9ff... |
Perhatikan bahwa satu karakter yang dimodifikasi (h kecil ke H besar) atau ditambahkan sepenuhnya mengubah hash. Ini disebut efek longsor.
Algoritma hash umum
| Algoritma | Panjang | Status | Untuk digunakan |
|---|---|---|---|
| MD5 | 32 karakter | Rusak (tidak aman) | Checksum lawas, penggunaan tidak aman |
| SHA-1 | 40 karakter | Rusak (tidak aman) | Sistem lawas saja |
| SHA-256 | 64 karakter | Aman | Integritas berkas, tanda tangan digital |
| SHA-512 | 128 karakter | Aman | Aplikasi keamanan tinggi |
SHA-256 adalah standar saat ini untuk sebagian besar penggunaan. MD5 dan SHA-1 hanya boleh digunakan untuk berinteraksi dengan sistem lawas yang membutuhkannya.
Cara menghasilkan hash
- Pilih algoritma Anda — pilih MD5, SHA-1, SHA-256, SHA-384, atau SHA-512. Gunakan SHA-256 kecuali ada alasan khusus.
- Masukkan teks atau unggah berkas — ketik atau tempel teks, atau pilih berkas untuk di-hash.
- Salin hash — hasilnya adalah string heksadesimal yang dapat digunakan untuk verifikasi, penyimpanan, atau perbandingan.
Penggunaan praktis
Verifikasi integritas berkas — unduh berkas dan bandingkan hashnya dengan yang dipublikasikan secara resmi. Jika cocok, berkas asli dan tidak rusak.
Penyimpanan kata sandi — aplikasi menyimpan hash kata sandi, bukan kata sandi itu sendiri. Saat Anda masuk, masukan Anda di-hash dan dibandingkan dengan hash yang disimpan.
Deduplikasi data — hash berkas besar untuk dengan cepat menentukan apakah identik tanpa membandingkan byte demi byte.
HMAC untuk keamanan API — gunakan HMAC (hash dengan kunci rahasia) untuk menandatangani permintaan API dan memastikan tidak diubah dalam transit.
Tips
- Gunakan SHA-256 secara default — aman, didukung secara luas, dan rekomendasi standar untuk proyek baru.
- Jangan pernah menggunakan MD5 untuk keamanan — tabrakan MD5 (masukan berbeda menghasilkan hash yang sama) dapat dihasilkan dalam hitungan detik. Cocok untuk checksum tidak aman tetapi tidak untuk apa pun yang penting bagi integritas.
- Garam hash kata sandi Anda — menambahkan garam acak ke setiap kata sandi sebelum hashing mencegah serangan tabel pelangi. Gunakan bcrypt atau Argon2 untuk hashing kata sandi dalam produksi.
- Hashing berkas berfungsi secara lokal — berkas diproses di peramban Anda, jadi bahkan berkas besar tidak pernah meninggalkan perangkat Anda.
Pertanyaan yang sering diajukan
Apa perbedaan antara MD5, SHA-1, dan SHA-256?
MD5 menghasilkan hash 128-bit (32 karakter hex), SHA-1 menghasilkan 160 bit (40 karakter), dan SHA-256 menghasilkan 256 bit (64 karakter). MD5 dan SHA-1 dianggap rusak secara kriptografis. SHA-256 saat ini aman dan direkomendasikan untuk verifikasi integritas dan keamanan.
Bisakah Anda membalikkan hash untuk menemukan data asli?
Tidak. Fungsi hash adalah satu arah secara desain. Anda tidak dapat membalikkan hash secara matematis ke masukannya. Namun, kata sandi umum dapat ditemukan dalam tabel yang sudah dihitung sebelumnya (rainbow tables), itulah mengapa penting untuk menggarami kata sandi sebelum hashing.
Apa itu HMAC?
HMAC (Hash-based Message Authentication Code) menggabungkan fungsi hash dengan kunci rahasia. Memverifikasi integritas dan otentisitas data — membuktikan bahwa tidak diubah dan diproduksi oleh seseorang yang mengetahui kunci rahasia.
Apakah data saya dikirim ke server?
Tidak. Semua hashing berjalan di peramban Anda dengan API Web Crypto. Teks dan berkas Anda tidak pernah meninggalkan perangkat Anda.