Buat hash
MD5, SHA-1, SHA-256, SHA-384, dan SHA-512, untuk teks atau file berukuran berapa pun. Berguna untuk memverifikasi bahwa file unduhan cocok dengan checksum yang dipublikasikan. Tidak ada yang disimpan.
- Tidak pernah disimpan
- Tanpa antre, tanpa menunggu
- Tanpa daftar, tanpa watermark
Teks di-hash sebagai UTF-8. Letakkan file untuk memverifikasi hasil unduhan.
Cara kerjanya
Tempel teks atau letakkan file
Teks di-hash sebagai UTF-8. File dibaca dan di-hash di sini; file tidak pernah disimpan.
Baca semua hash sekaligus
Kelima algoritma dihitung bersamaan, jadi Anda tidak perlu tahu sebelumnya mana yang Anda butuhkan.
Bandingkan dengan nilai yang diharapkan
Tempel checksum yang Anda terima dan alat ini mencocokkannya untuk Anda — membandingkan karakter demi karakter dengan mata adalah sumber kesalahan.
Apa yang dibuktikan hash, dan apa yang tidak
Hash adalah sidik jari berpanjang tetap dari data sebanyak apa pun, dan ada dua sifatnya yang perlu dijelaskan dengan tepat. Hash bersifat satu arah — tidak ada operasi yang bisa mengubah hash kembali menjadi data, karena hampir semua informasinya sudah hilang. Dan hash bersifat sensitif: ubah satu bit input, dan kira-kira separuh bit output-nya berubah. Itulah yang membuatnya berguna untuk memastikan file terunduh dengan utuh, atau bahwa dua file sama tanpa membandingkannya byte demi byte.
MD5 dan SHA-1 sudah dibobol, dan tetap disediakan di sini karena suatu alasan. Keduanya punya serangan collision yang praktis — MD5 sejak 2004, SHA-1 dibuktikan dengan sepasang PDF sungguhan pada 2017 — artinya seseorang bisa membuat dua file berbeda dengan hash yang sama. Jadi keduanya tidak membuktikan apa pun jika ada pihak yang berniat menipu. Keduanya tetap sangat baik untuk mendeteksi kerusakan yang tidak disengaja, dan banyak sekali software sungguhan yang masih memublikasikan checksum MD5, jadi memeriksanya terhadap file unduhan adalah kebutuhan yang wajar. Gunakan SHA-256 untuk apa pun yang mungkin menjadi sasaran penipuan.
Jangan pernah meng-hash kata sandi dengan salah satu dari algoritma ini. Inilah hal paling penting di halaman ini. Hash dirancang untuk cepat, dan cepat justru salah untuk kata sandi: kartu grafis modern menghitung miliaran hash SHA-256 per detik, jadi database kata sandi ter-hash yang dicuri bisa dibobol dalam hitungan jam. Penyimpanan kata sandi memerlukan fungsi yang sengaja dibuat lambat dengan salt per pengguna — argon2, bcrypt, atau scrypt — yang sengaja dibuat memakan waktu dan memori. SHA-256 biasa dari sebuah kata sandi adalah kerentanan, bukan perlindungan, seperti apa pun tampilannya di kolom database.
Membandingkan hash yang Anda hitung dengan hash yang dipublikasikan di halaman yang sama tempat Anda mengunduh membuktikan lebih sedikit daripada kelihatannya: siapa pun yang bisa mengganti file juga bisa mengganti angka di sebelahnya. Checksum paling bernilai jika berasal dari tempat lain — rilis yang ditandatangani, saluran terpisah, atau nilai yang Anda catat sendiri sebelumnya.
Jika Anda butuh hal lain
Di command line, ini cukup satu perintah: shasum -a 256 file di macOS dan Linux, certutil -hashfile file SHA256 di Windows, dan md5sum atau sha1sum jika yang dipublikasikan adalah checksum lama. Perintah-perintah ini memproses file secara streaming, tidak memuatnya sekaligus, jadi tidak ada batas ukuran — dan itulah perbedaan sesungguhnya untuk file di atas beberapa ratus megabyte, yang akan gagal di halaman yang menyimpan seluruh file di memori.
Untuk memverifikasi bahwa sebuah rilis asli, bukan sekadar utuh, hash saja bukan alat yang tepat. Tanda tangan GPG — gpg --verify file.sig file — membuktikan siapa yang membuat file tersebut, dan itulah pertanyaan yang tidak bisa dijawab checksum. Sebagian besar proyek serius memublikasikan keduanya, dan tanda tanganlah yang penting.
Pertanyaan yang sering diajukan
Apakah file saya disimpan di suatu tempat?
Tidak. File di-hash dengan kriptografi bawaan yang sama dengan yang menangani HTTPS. Tidak ada yang disimpan, jadi tidak ada batas ukuran dan tidak perlu menunggu koneksi.
Apakah ada batas ukuran?
Hanya memori yang tersedia, bukan batas ukuran tetap. Kriptografi browser tidak bisa meng-hash file sepotong demi sepotong — seluruh file harus ada di memori sekaligus — jadi file yang sangat besar (misalnya image DVD) bisa gagal di komputer yang tidak mampu menampungnya. File hingga beberapa ratus megabyte tidak masalah di komputer biasa. Jika file besar gagal, itulah batas yang Anda capai, dan halaman ini memberi tahu Anda alih-alih macet.
Hash mana yang sebaiknya saya pakai?
SHA-256 untuk apa pun yang baru. Ini standar modern, dipakai untuk checksum software, digest container, dan sistem blockchain, dan tidak punya kelemahan yang diketahui. Gunakan MD5 atau SHA-1 hanya jika ada hal lain yang mengharuskannya — mencocokkan checksum lama yang dipublikasikan, sistem lawas, atau Git, yang mengidentifikasi objek dengan SHA-1. Gunakan SHA-512 jika Anda memang menginginkan digest yang lebih panjang; di komputer 64-bit, SHA-512 sering kali lebih cepat daripada SHA-256, bukan lebih lambat.
Bisakah saya memakai ini untuk meng-hash kata sandi?
Bisa, tetapi jangan simpan hasilnya. Ini kesalahan paling umum di bidang ini, jadi perlu dikatakan terus terang: MD5, SHA-1, dan SHA-256 semuanya salah untuk kata sandi, dan kuatnya SHA-256 secara kriptografis tidak membantu. Masalahnya, fungsi-fungsi ini memang dirancang CEPAT — kartu grafis modern menghitung miliaran hash SHA-256 per detik, jadi database hash kata sandi SHA-256 yang dicuri bisa dibobol dengan kecepatan luar biasa. Kata sandi memerlukan fungsi yang sengaja dibuat lambat dan memakai salt, yang dibuat khusus untuk keperluan itu: bcrypt, scrypt, atau Argon2. Setiap framework serius sudah menyediakannya.
Mengapa MD5 ditandai sudah dibobol?
Karena kini siapa pun bisa membuat dua file berbeda dengan hash MD5 yang sama, dengan perangkat keras biasa, dalam hitungan detik. Hal itu sudah benar sejak 2004 dan sudah dibuktikan dengan konsekuensi nyata — dua PDF yang menampilkan kontrak berbeda, dua file executable yang salah satunya malware. Jadi MD5 tidak bisa membuktikan bahwa sebuah file adalah file yang Anda harapkan; pemalsuan yang disengaja bisa cocok. MD5 tetap wajar dipakai untuk mendeteksi kerusakan yang tidak disengaja, seperti unduhan yang gagal atau salinan yang terpotong, dan memang untuk itulah sebagian besar checksum MD5 yang dipublikasikan. MD5 tidak boleh dipakai untuk keamanan.
Mengapa SHA-1 ditandai sudah dibobol?
Karena alasan yang sama, hanya lebih baru. Pada 2017, Google dan CWI menghasilkan dua PDF berbeda dengan hash SHA-1 yang sama, dan pada 2020 serangan itu sudah cukup murah untuk memalsukan tanda tangan. Browser sudah bertahun-tahun berhenti menerima sertifikat SHA-1, dan Git sedang beralih darinya. Jika Anda memilih algoritma hari ini, pilih SHA-256.
Bagaimana cara memverifikasi file unduhan?
Letakkan file yang sudah diunduh, lalu tempel checksum dari situs tempat Anda mendapatkannya ke kotak perbandingan. Jika cocok, file tiba dengan utuh dan sama dengan file yang dipublikasikan. Jika tidak cocok, hapus dan unduh ulang. Dua hal yang perlu diperhatikan: ambil checksum dari sumber resmi, bukan dari tempat Anda mendapatkan file, dan ingat bahwa checksum hanya membuktikan file cocok dengan apa yang dipublikasikan halaman tersebut — jika halaman itu sendiri sudah disusupi, keduanya akan tetap cocok.
Apakah hash-nya dihitung dengan benar?
SHA-1, SHA-256, SHA-384, dan SHA-512 berasal dari implementasi Web Crypto milik browser sendiri, kode yang sama yang menangani HTTPS. MD5 tidak ada di Web Crypto — dengan sengaja, karena sudah dibobol — jadi MD5 diimplementasikan langsung di sini berdasarkan RFC 1321 dan diperiksa terhadap test vector yang dipublikasikan dalam dokumen tersebut.
Perlu diketahui: MD5 dan SHA-1 tersedia di sini karena file dan sistem lama masih memakainya, bukan karena keduanya aman — keduanya sudah dibobol untuk keperluan keamanan apa pun dan hanya berguna sebagai checksum. Web Crypto tidak punya digest inkremental, jadi seluruh file disimpan di memori: file yang sangat besar akan gagal, bukan diproses secara streaming.
Pasang alat ini di situs Anda
Gratis untuk blog, halaman kelas, atau artikel bantuan apa pun. Tempel satu potong kode dan pengunjung Anda bisa langsung memakainya di halaman Anda.