Hash
Hasilkan hash SHA-1, SHA-256, SHA-384, SHA-512
MD5 tidak disediakan — itu telah rusak secara kriptografi dan tidak tersedia di API SubtleCrypto browser. Gunakan SHA-256 atau yang lebih kuat.
Apa itu hash kriptografi?
Fungsi hash kriptografi mengubah input apa pun — satu karakter, dokumen 5 halaman — menjadi string panjang tetap dari digit hex. SHA-256 selalu menghasilkan 64 karakter hex; SHA-512, 128. Dua sifat penting: input yang sama selalu menghasilkan hash yang sama, dan sangat sulit secara komputasi untuk menemukan dua input berbeda dengan hash yang sama (resistensi tabrakan).
Hash digunakan untuk pemeriksaan integritas file (mengunduh file? bandingkan SHA-256-nya dengan nilai yang diterbitkan), penyimpanan kata sandi (server menyimpan hash, bukan kata sandi), tanda tangan HMAC, dan penyimpanan berbasis konten (Git menggunakan SHA-1 untuk mengidentifikasi komit).
Kasus penggunaan
- Verifikasi integritas unduhan — bandingkan SHA-256 dari file yang diunduh dengan checksum yang terdaftar oleh penerbit.
- Deteksi konten duplikat — hash string atau konten file untuk menemukan duplikat tanpa menyimpan yang asli.
- Bangun kunci cache — ubah input panjang (URL, string kueri, tubuh permintaan) menjadi kunci panjang tetap untuk Redis atau Memcached.
- Audit artefak Git — hitung SHA-1 untuk memeriksa alamat objek blob/tree di luar plumbing Git.
Contoh
| Input | Hasil |
|---|---|
| hello | SHA-256: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 |
| (empty string) | SHA-256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 |
Pertanyaan yang sering diajukan
Mengapa tidak ada MD5?
MD5 telah rusak secara kriptografi — tabrakan dapat dihasilkan dalam hitungan detik di laptop. API SubtleCrypto browser tidak mengeksposnya dengan sengaja. Gunakan SHA-256 atau yang lebih kuat.
Bisakah saya meng-hash file?
Alat ini meng-hash input teks. Untuk meng-hash file, masukkan ke konsol browser: `crypto.subtle.digest('SHA-256', await file.arrayBuffer())`.
Apakah hash bersifat deterministik di seluruh jalannya?
Ya — SHA-256 dari 'hello' selalu memiliki nilai yang sama. Fungsi hash adalah murni (tanpa salt, tanpa acak) berdasarkan desain.
Haruskah saya menggunakan SHA-1?
Hindari untuk aplikasi baru — itu telah rusak untuk serangan tabrakan. SHA-1 masih umum untuk checksum file dan Git, tetapi gunakan SHA-256 untuk hal-hal yang relevan dengan keamanan.
Apakah input saya dikirim ke mana pun?
Tidak. Penghashan menggunakan API kripto asli browser; tidak ada yang meninggalkan perangkat Anda.
