Pembuat Hash & Checksum
Dapatkan MD5, SHA-1, SHA-256, SHA-384, dan SHA-512 untuk teks dan file sekaligus. Verifikasi file yang diunduh terhadap checksum resminya untuk memastikan file tersebut tidak dirusak. Semua proses berjalan lokal, tidak ada yang keluar dari browser Anda.
- Algoritma
- MD5 · SHA-1/256/384/512
- Mesin
- Web Crypto API
- Privasi
- 100% lokal
- Input
- Teks / file
Letakkan file di sini, atau klik untuk menelusuri
Byte file dibaca secara lokal untuk menghitung checksum — tidak ada yang diunggah. Bekerja dengan installer, gambar disk, dan arsip.
FITUR
Kelima hash di satu halaman
Dari sidik jari cepat hingga tanda tangan aman — setiap hash yang dibutuhkan pengembang, tim operasi, dan verifikasi unduhan ada di sini.
Lima algoritma
MD5, SHA-1, SHA-256, SHA-384, dan SHA-512 ditampilkan bersama dengan panjang bit keluaran — tidak perlu lagi berpindah antar alat.
Perhitungan real-time
Hash teks saat Anda mengetik, tidak perlu tombol tekan. Hasil dalam font monospace — klik satu baris untuk menyalin.
Pemeriksaan integritas file
Letakkan installer, gambar disk, atau arsip lalu bandingkan dengan checksum resmi untuk mengonfirmasi unduhan yang tidak dirusak.
Lokal, tanpa unggah
Keluarga SHA menggunakan Web Crypto API bawaan browser. Teks dan file tidak pernah keluar dari mesin Anda — konten sensitif aman.
Konsisten UTF-8
Teks di-hash sebagai byte UTF-8, sehingga hasilnya sesuai dengan md5sum, PHP md5(), dan Python hashlib secara tepat.
Salin satu klik
Salin setiap hash secara individual, atau semua hash dalam format checksum standar yang siap ditempelkan ke terminal.
Yang perlu Anda ketahui tentang hash
Idenya sederhana, tetapi menggunakan yang salah untuk tugas yang salah adalah kesalahan keamanan yang nyata.
Apa sebenarnya MD5 dan SHA-1 itu?
MD5 (Message-Digest Algorithm 5) dirancang oleh Ronald Rivest di MIT dan diterbitkan pada tahun 1992 sebagai RFC 1321, menghasilkan digest tetap sebesar 128-bit (32 karakter heksadesimal) sebagai penerus MD4. SHA-1 dirancang oleh Badan Keamanan Nasional AS dan diterbitkan pada tahun 1995 sebagai standar federal FIPS 180-1, menghasilkan 160 bit. Keduanya menjadi algoritma hash yang paling banyak digunakan selama dua dekade berikutnya — digunakan untuk checksum file, penyimpanan kata sandi, tanda tangan digital, dan ID komit Git. Perlu dicatat bahwa mereka masih menghasilkan digest yang benar saat ini; "tidak aman" berarti resistensi tabrakan mereka rusak, bukan berarti outputnya salah.
Apakah hashing, enkripsi, dan encoding adalah hal yang sama?
Tidak — mereka menyelesaikan masalah yang berbeda. Encoding (seperti Base64 atau encoding URL) adalah transformasi format yang dapat dibalik yang dapat dibatalkan siapa pun, tidak menawarkan keamanan apa pun. Enkripsi dapat dibalik dengan menggunakan kunci: teks biasa menjadi teks sandi dan kunci yang benar dapat mendekripsinya. Hashing adalah proses satu arah, tidak memiliki kunci, dan data asli tidak dapat dipulihkan dari digest — hash digunakan untuk sidik jari, pemeriksaan integritas, dan tanda tangan. Dua kesalahpahaman umum: menganggap Base64 sebagai "enkripsi", dan mengatakan bahwa kata sandi "dienkripsi dengan MD5" — itu adalah hashing, dan cara yang tidak aman untuk menyimpan kata sandi.
Mengapa hash tidak dapat dibalik kembali ke data asli?
Hash adalah fungsi satu arah: input dengan panjang berapa pun dikompresi menjadi digest dengan panjang tetap, menghilangkan sebagian besar informasinya. Seperti Anda tidak dapat merekonstruksi kalimat dari jumlah katanya, data asli tidak dapat diturunkan dari digest. Algoritma aman dirancang khusus untuk membuat pembalikan tersebut secara tidak mungkin secara komputasi.
Apakah MD5 dan SHA-1 masih dapat digunakan?
Untuk memeriksa apakah file tidak sengaja rusak selama pengiriman — ya, setiap perubahan byte yang tidak disengaja hampir selalu mengubah MD5. Namun, jangan pernah menggunakannya untuk keamanan: serangan tabrakan praktis telah ada untuk keduanya (peneliti dapat membuat dua file berbeda dengan MD5 yang sama di bawah kendali mereka). Gunakan SHA-256 atau yang lebih tinggi untuk kata sandi, tanda tangan, dan sertifikat.
Mengapa hash saya berbeda dari alat lain untuk teks yang sama?
Tiga penyebab umum: ① encoding karakter yang berbeda (alat ini selalu menggunakan UTF-8; alat lama mungkin menggunakan GBK atau Latin-1); ② newline di akhir — echo baris perintah menambah satu secara default (gunakan echo -n); ③ spasi yang tidak disengaja atau karakter tak terlihat saat menyalin. Hash sensitif terhadap setiap byte, jadi satu byte yang berbeda pun akan mengubah hasilnya secara keseluruhan.
Mengapa kata sandi tidak dapat disimpan sebagai MD5/SHA-256 biasa?
Hash biasa berjalan cepat. Jika tabel hash dibocorkan, penyerang dapat mencoba miliaran tebakan per detik, dan tabel pelangi dapat mencari balik kata sandi umum secara instan. Kata sandi membutuhkan algoritma lambat yang sulit untuk memori (bcrypt, scrypt, Argon2) dengan garam unik per kata sandi, sehingga membuat serangan paksa menjadi terlalu mahal.
Bagaimana cara memverifikasi integritas file yang diunduh?
Temalkan checksum yang dipublikasikan di situs resmi (biasanya SHA-256), seret file yang diunduh ke tab "Checksum File" di sini, lalu tempel nilai resmi ke kotak di atas hasil. Alat ini mendeteksi algoritma dari panjang nilai tersebut dan membuat baris yang cocok berwarna hijau jika byte file persis seperti yang dirilis oleh penerbit; warna merah berarti file rusak atau diganti oleh man-in-the-middle — jangan jalankan file tersebut.
Manakah dari lima algoritma yang harus digunakan
Pilih sesuai skenario. Algoritma yang lebih baru menghasilkan digest lebih panjang, lebih tahan terhadap serangan, dan sedikit lebih mahal untuk dihitung.
| Algoritma | Diperkenalkan | Panjang output | Keamanan | Penggunaan umum |
|---|---|---|---|---|
| MD5 | 1992 | 128 bit (32 karakter) | Tidak aman; tabrakan sudah mungkin dilakukan | Fungsi sidik jari non-keamanan, deduplikasi, kompatibilitas dengan sistem lama |
| SHA-1 | 1995 | 160 bit (40 karakter) | Tabrakan sudah mungkin dilakukan sejak 2017 | ID riwayat Git dan sistem lama lainnya; tidak untuk penggunaan keamanan baru |
| SHA-256 | 2001 | 256 bit (64 karakter) | Aman saat ini | Checksum file, tanda tangan, sertifikat TLS, blockchain — default universal |
| SHA-384 | 2001 | 384 bit (96 karakter) | Aman | SHA-512 yang dipotong untuk rezim kepatuhan yang membutuhkan 384 bit |
| SHA-512 | 2001 | 512 bit (128 karakter) | Aman | Tanda tangan dengan jaminan tinggi; seringkali lebih cepat dari SHA-256 pada CPU 64-bit |
"Aman" berarti belum ada serangan tabrakan publik yang dapat dilakukan hingga saat ini. Untuk penyimpanan kata sandi gunakan bcrypt/Argon2 terlepas dari pilihan hash.
Checksum: cara memverifikasi file yang diunduh dengan benar
Untuk apa string MD5 atau SHA-256 di halaman unduh, cara membandingkannya, dan apa yang harus dibandingkan — semuanya ada di satu bagian.
Mengapa harus memverifikasi sama sekali
File di disk Anda tidak harus sama dengan file di server. Perbandingan checksum selama sepuluh detik melindungi dari tiga jenis masalah:
File besar melalui unduh yang bisa dilanjutkan dan jaringan yang tidak stabil sering menerima byte yang tidak diinginkan; memecahkan masalah installer yang rusak memakan waktu jauh lebih lama daripada sepuluh detik.
Banyak unduhan sebenarnya berasal dari mirror atau CDN, di mana keterlambatan sinkronisasi atau gangguan cache dapat memberikan rilis yang kedaluwarsa — atau setengah file.
Ketika sumber unduh diretas atau jaringan publik disalahgunakan, file bisa disisipi backdoor. Pada 2016 situs Linux Mint diretas dan tautan unduhnya diganti dengan ISO yang disisipi backdoor — respons pertama proyek ini adalah mendorong semua orang untuk memeriksa checksum.
Apa itu checksum
Penerbit menjalankan hashing pada file di server mereka dan memposting hasilnya di halaman unduhan; setelah selesai mengunduh, Anda menjalankan hashing ulang secara lokal. Jika kedua string cocok persis satu karakter per karakter, byte file tersebut sama persis dengan yang dirilis oleh penerbit — tidak rusak maupun diganti. Pemeriksaan ini peka terhadap setiap byte: ubah satu byte saja dan nilainya akan berubah sepenuhnya. Secara umum, checksum juga mencakup skema yang lebih sederhana seperti CRC32 yang hanya mendeteksi kerusakan tak disengaja, sedangkan hashing kriptografi seperti MD5/SHA juga melindungi dari pemalsuan yang disengaja.
Verifikasi file dalam tiga langkah
-
1
Dapatkan checksum resmi
Di halaman unduhan, temukan nilai MD5/SHA-256 yang dipublikasikan (biasanya diberi label "checksum" atau disertakan sebagai file pendamping .sha256) lalu salin seluruh string.
-
2
Letakkan file dan tempelkan
Beralih ke tab "Checksum File" di atas, letakkan file yang diunduh, lalu tempelkan checksum ke kolom di atas hasil.
-
3
Baca hasil berdasarkan warna
Alat ini mendeteksi algoritma dari panjang nilainya: hijau berarti file cocok persis dengan rilis resmi dan aman untuk digunakan; merah berarti file mungkin rusak atau telah dimanipulasi — jangan jalankan.
Membaca checksum di situs resmi
Halaman unduhan menulis checksum dalam berbagai format, tetapi semuanya pada dasarnya terdiri dari dua elemen: nilai hash dan nama file. Tiga format berikut adalah yang paling umum — saat menempel, ambil hanya bagian hash (alat ini mengabaikan spasi dan jeda baris secara otomatis):
# 1. Satu baris: hanya nilai
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
# 2. Format sha256sum: nilai + dua spasi + nama file (manifest SHA256SUMS terdiri dari banyak baris seperti ini)
a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a ubuntu-24.04.iso
# 3. Format BSD: Algoritma (nama file) = nilai
SHA256 (ubuntu-24.04.iso) = a0570aa01532917be820a37994710cf09b6eba198bf9543c27be938c5f09e60a
MD5 atau SHA-256
Verifikasi apa pun yang disediakan oleh situs resmi, tetapi jika Anda harus memilih: MD5 cukup memadai untuk melindungi dari kerusakan tak disengaja selama pengiriman (setiap perubahan tak disengaja hampir selalu mengubah MD5). Untuk melindungi dari manipulasi yang disengaja — perangkat lunak keamanan, sertifikat, paket yang ditandatangani — Anda memerlukan SHA-256 atau yang lebih kuat, karena serangan tabrakan praktis memungkinkan penyerang membuat dua file berbeda dengan MD5 yang sama. Detailnya ada di "sejarah keamanan" di bawah.
Verifikasi langsung dari baris perintah
Di Linux dan macOS, alat checksum menerima opsi -c untuk memverifikasi seluruh manifest secara otomatis — tanpa perbandingan manual. Perintah bawaan Windows hanya menghitung nilainya, yang kemudian Anda bandingkan sendiri dengan string resmi.
| Lingkungan | Perintah verifikasi |
|---|---|
| Linux | sha256sum -c SHA256SUMS (memeriksa setiap file yang tercantum dalam manifest) |
| macOS | shasum -a 256 -c checksum.txt |
| Pemeriksaan nilai tunggal cepat | echo "nilai-resmi nama-file" | sha256sum -c - (menampilkan OK jika berhasil) |
| Windows | Hitung dengan Get-FileHash <file> -Algorithm SHA256, lalu bandingkan dengan nilai resmi |
Sejarah keamanan singkat: bagaimana MD5 diretas
MD5 tidak gagal dalam semalam — dari retakan pertama di kalangan akademis hingga sertifikat palsu yang beredar, prosesnya memakan waktu dua dekade.
-
1992
MD5 diterbitkan
Ronald Rivest merilis MD5 di RFC 1321. Cepat, sederhana untuk diimplementasikan, dan selalu menghasilkan ringkasan 128-bit, MD5 dengan cepat menjadi standar de facto untuk checksum file dan penyimpanan kata sandi — serta dianggap aman secara kriptografi.
-
2004
Tim Wang Xiaoyun mengungkap tabrakan penuh MD5
Di CRYPTO 2004, tim yang dipimpin oleh matematikawan Tiongkok Wang Xiaoyun menunjukkan serangan tabrakan penuh pada MD5 — membuat dua file dengan konten berbeda namun hash yang sama (awalnya dalam waktu sekitar satu jam di superkomputer IBM P690; perbaikan selanjutnya mengurangi waktu menjadi beberapa detik pada perangkat keras biasa). Sifat tahan tabrakan yang dijanjikan MD5 telah hilang; tepuk tangan meriah yang menyusul menjadi salah satu momen paling terkenal di bidang kriptografi.
-
2008
Sertifikat palsu menyerang internet nyata
Marc Stevens, Alexander Sotirov, dan lain-lain menggunakan tabrakan dengan awalan pilihan untuk memalsukan sertifikat CA perantara yang dipercaya oleh browser: sertifikat dengan awalan berbeda membawa tanda tangan yang sama. Penyerang sekarang bisa menerbitkan sertifikat HTTPS "valid" untuk situs palsu apa pun. Otoritas sertifikat berhenti menerbitkan sertifikat MD5 tak lama setelah itu.
-
2012
Malware Flame menyerang Windows melalui MD5
Malware Flame yang disponsori negara menggunakan tabrakan MD5 untuk membuat otoritas lisensi terminal server Microsoft menandatangani sertifikat penandatanganan kode palsu, sehingga malware dapat menyebar di seluruh Timur Tengah dengan menyamar sebagai pembaruan yang ditandatangani Microsoft. Itu adalah serangan dunia nyata pertama yang menggunakan tabrakan MD5; Microsoft mencabut sertifikat tersebut melalui patch darurat.
-
2017
SHAttered: SHA-1 runtuh
Google dan institusi CWI Belanda (Marc Stevens et al.) menerbitkan dua file PDF berbeda dengan hash SHA-1 identik — dengan biaya sekitar 6.500 CPU-tahun dan 110 GPU-tahun. Browser segera mencabut kepercayaan terhadap sertifikat SHA-1, dan platform Git mempercepat migrasi mereka darinya. Era 160-bit telah berakhir.
Perbedaan penting: serangan tabrakan tidak "memecahkan" hash dari file yang sudah ada — ia membuat dua file spesifik yang menghasilkan nilai hash yang sama. Namun untuk tanda tangan dan sertifikat, hal itu sudah cukup untuk pemalsuan yang fatal.
Hashing dari baris perintah
Saat browser tidak mudah diakses, setiap sistem operasi menyertakan perintah bawaan (SHA-256 ditampilkan).
| Lingkungan | Perintah |
|---|---|
| Linux / macOS | sha256sum nama_file (di macOS: shasum -a 256 nama_file) |
| Windows PowerShell | Get-FileHash nama_file -Algorithm SHA256 |
| Windows CMD | certutil -hashfile nama_file SHA256 |
Hashing dalam kode
Contoh minimal dalam empat bahasa umum saat Anda menulis skrip atau mengintegrasikan API.
async function sha256Hex(data) {
const bytes = typeof data === "string"
? new TextEncoder().encode(data)
: new Uint8Array(data);
const digest = await crypto.subtle.digest("SHA-256", bytes);
return [...new Uint8Array(digest)]
.map((b) => b.toString(16).padStart(2, "0"))
.join("");
}
// Text
console.log(await sha256Hex("hello"));
// Files: digest accepts an ArrayBuffer directly
const buf = await file.arrayBuffer();
console.log(await sha256Hex(buf));
Web Crypto asli browser hanya mendukung keluarga SHA dan memerlukan HTTPS atau localhost; MD5 memerlukan pustaka pihak ketiga.
echo hash('sha256', 'hello'); // 64 hex characters
echo md5('hello'); // same as hash('md5', 'hello')
// Streamed: hashes the file without loading it into memory
echo hash_file('sha256', 'setup.exe');
hash() dan hash_file() mendukung md5, sha1, sha256, sha512, dan lainnya; hashing file bersifat streaming, sehingga menggunakan sedikit memori.
import hashlib
print(hashlib.sha256(b"hello").hexdigest())
print(hashlib.md5(b"hello").hexdigest())
# Large files: streamed, low memory (Python 3.11+)
with open("setup.exe", "rb") as f:
print(hashlib.file_digest(f, "sha256").hexdigest())
Library standar hashlib tidak perlu instalasi; gunakan file_digest() untuk hashing streaming pada file besar (Python 3.11+).
use sha2::{Digest, Sha256};
use md5::Md5;
// Text
println!("{:x}", Sha256::digest(b"hello"));
println!("{:x}", Md5::digest(b"hello"));
// Large files: streamed, low memory
let mut file = std::fs::File::open("setup.exe")?;
let mut hasher = Sha256::new();
std::io::copy(&mut file, &mut hasher)?;
println!("{:x}", hasher.finalize());
Hashing tidak ada di library standar; tambahkan crate RustCrypto sha2 dan md-5 di Cargo.toml. Dengan fitur std diaktifkan, io::copy mengalirkan file ke hasher.
FAQ
Apakah teks dan file saya diunggah?
Tidak. Semua proses perhitungan berlangsung di dalam browser Anda: panggilan fungsi SHA menggunakan Web Crypto API bawaan, dan MD5 berjalan di JavaScript halaman. Alat ini tetap bisa digunakan meskipun tidak terhubung jaringan — cobalah dengan file sensitif.
Mengapa teks kosong masih memiliki hash?
Algoritma hash mendefinisikan output tetap yang unik bahkan untuk nol byte. MD5 dari string kosong adalah d41d8cd98f00b204e9800998ecf8427e, dan SHA-256-nya dimulai dengan e3b0c442. Alat ini hanya menyembunyikan hasil saat input kosong agar Anda tidak menyalinnya secara tidak sengaja.
Bisakah ini menghash file dengan ukuran berapa pun?
Itu tergantung pada memori browser yang tersedia — file installer dan gambar disk dengan ukuran beberapa ratus MB biasanya baik-baik saja. File dibaca ke memori dalam satu kali proses, jadi untuk file berukuran multi-GB lebih disarankan menggunakan alat command-line (sha256sum, certutil).
Mengapa hash memiliki panjang yang berbeda?
Panjang ditentukan oleh algoritma: MD5 adalah 32 karakter heksadesimal, SHA-1 adalah 40, SHA-256 adalah 64, dan SHA-512 adalah 128. Dua karakter heksadesimal per byte — panjangnya tidak bergantung pada ukuran input: file berukuran satu byte dan file berukuran multi-GB keduanya menghasilkan 64 karakter dengan SHA-256.
Bisakah saya menggunakannya untuk membuat tanda tangan API?
Ya. Banyak platform terbuka menandatangani permintaan dengan menghash "parameter + rahasia" menggunakan MD5 atau SHA-256. Alat ini berguna untuk memeriksa nilai tanda tangan saat debugging; di lingkungan produksi, hitung hash menggunakan library bahasa sisi server Anda dan jangan pernah menyematkan rahasia dalam kode frontend.
Bagaimana cara membandingkan checksum dengan alat ini?
Beralih ke tab "Checksum File", tarik file ke dalamnya, dan tempel checksum dari situs resmi ke kotak di atas hasil. Alat ini secara otomatis mendeteksi algoritma berdasarkan panjangnya (32 karakter MD5, 40 SHA-1, 64 SHA-256, 96 SHA-384, 128 SHA-512): baris yang cocok akan berubah menjadi hijau dengan catatan "Lulus" jika cocok, dan merah jika tidak. Huruf besar/kecil, spasi di sekeliling, dan jeda baring akan diabaikan secara otomatis.
Alat Terkait
Alat encoding, crypto, dan password lainnya.
Encode / Decode Base64
Konversi antara biner dan teks — praktis untuk URI Data dan debugging HTTP basic auth.
Generator Kata Sandi
Buat kata sandi acak yang kuat — kata sandi harus acak dan unik, bukan "terenkripsi" dengan hash.
Pemeriksa Kekuatan Kata Sandi
Periksa apakah kata sandi cukup panjang dan acak, dan apakah pernah muncul dalam kebocoran data yang diketahui.