Jika nilai SHA-256 sama, byte kedua file bisa dianggap sama
SHA-256 adalah fungsi hash yang meringkas file sebesar apa pun menjadi satu nilai ringkasan 256 bit (32 byte). Di layar, nilainya biasanya ditulis sebagai 64 digit heksadesimal. Byte yang sama selalu menghasilkan nilai yang sama, kapan pun dan di mana pun dihitung, sedangkan perubahan satu byte saja membuat sebagian besar dari 64 digit itu berubah total. Karena itu, jika nilai SHA-256 dari penyedia unduhan sama dengan nilai file yang Anda unduh, file tersebut dianggap tidak rusak dan tidak tertukar saat diunduh.
Alat ini langsung menghitung SHA-256 begitu file atau teks dimasukkan ke kolom A, lalu mencocokkan 64 digit itu dengan nilai acuan di kolom B, dengan susunan 8 digit berdampingan. File dibaca per 4 MiB di dalam browser, sehingga tidak ada batas ukuran dan citra instalasi berukuran beberapa GB pun bisa dihitung sambil melihat kemajuannya. Isi file dan hasil perhitungan tidak dikirim ke server.
Di kolom nilai acuan, Anda tidak harus menempelkan satu nilai 64 digit saja. Seluruh daftar checksum seperti SHA256SUMS juga boleh ditempelkan. Alat ini mencari baris dengan nilai yang sama, dan jika tidak ada, baris dengan nama file yang sama. Jika nilainya berbeda, penyebab yang paling umum (baris baru di akhir, baris baru Windows, bentuk gabungan Unicode, dan nilai dari algoritma hash lain) dicoba lebih dulu dan hasilnya diberitahukan.
Kapan hash perlu dicocokkan
Mencocokkan hash adalah cara untuk memastikan dalam beberapa detik bahwa sebuah file sama dengan file aslinya. Membandingkan byte demi byte memerlukan file asli di tangan Anda, sedangkan hash cukup 64 digit. Cara ini sangat berguna dalam situasi berikut.
- Setelah mengunduh citra sistem operasi atau installer: distribusi Linux dan perangkat pengembang biasanya mencantumkan nilai SHA-256 atau file SHA256SUMS di halaman unduhan. Jika file diambil dari server cermin, atau unduhan sempat terputus lalu dilanjutkan, lebih aman mencocokkan nilainya dulu. Panduan resmi Ubuntu juga menjelaskan agar citra diperiksa dengan SHA256SUMS, lalu tanda tangan pada daftar itu ikut diperiksa.
- Saat memeriksa apakah cadangan atau salinan sama dengan aslinya: file yang dipindahkan lewat disk eksternal, NAS, atau sinkronisasi cloud bisa saja rusak isinya meskipun nama dan ukurannya sama. Ubah kolom B ke 'File lain' dan masukkan file asli bersama salinannya. Kedua nilai akan dicocokkan, dan jika berbeda, posisi byte pertama yang berbeda ikut dicari.
- Setelah bertukar file dengan orang lain: jika pengirim memberi tahu 64 digit yang dihitung di komputernya, penerima cukup memasukkan file untuk memastikan keduanya sama. Sebagian aplikasi pesan dan media sosial mengompres ulang foto dan video saat mengirim, sehingga nilainya akan berubah.
- Saat membandingkan hasil kerja pengembangan dan distribusi: berguna untuk memastikan hasil build dari sumber yang sama benar-benar sama, nilai untuk atribut integrity di halaman web sudah benar, atau hash contoh di dokumentasi API sama dengan hasil implementasi Anda.
- Saat memastikan teks diproses dengan cara yang sama: pada tahap sebelum membuat tanda tangan atau token, jika hash string berbeda dari program lain, penyebabnya sering satu byte baris baru atau perbedaan bentuk gabungan Unicode. Alat ini mengganti perbedaan seperti itu satu per satu untuk mencari kondisi yang cocok.
Cara memakai
- Di kolom A, pilih atau seret file. Untuk melihat hash sebuah teks, ubah ke teks lalu ketik. File dihitung begitu dipilih, dan teks dihitung setiap kali diketik.
- Di kolom B, tempelkan nilai SHA-256 dari penyedia unduhan. Anda juga bisa menempelkan seluruh daftar checksum, atau memuat file daftar seperti SHA256SUMS lewat 'Buka file daftar'. Untuk membandingkan dua file, ubah kolom B ke File lain.
- Pada baris penilaian muncul 'Cocok' atau 'Tidak cocok'. Papan pencocokan di bawahnya membagi 64 digit menjadi delapan kelompok berisi 8 digit, dengan nilai hitung di baris atas dan nilai acuan di baris bawah, serta menandai karakter yang berbeda.
- Jika nilainya berbeda, lihat daftar penyebab di bawahnya. Jika di mode teks ditemukan kondisi yang cocok dengan nilai acuan, misalnya karena perbedaan baris baru di akhir, tekan 'Hitung dengan cara ini' untuk menghitung ulang dengan pengaturan itu.
- Untuk memakai nilai hasil hitung, pilih format salin (huruf kecil, huruf besar, Base64) lalu tekan 'Salin nilai A'.
Contoh nilai yang bisa Anda periksa sendiri
Nilai di bawah ini sudah dipastikan menghasilkan hasil yang sama dengan alat ini, crypto Node.js, dan sha256sum di macOS. Anda bisa melihat bahwa teks yang tampak sama di layar tetap menghasilkan nilai yang sama sekali berbeda jika byte-nya berbeda. Pada tabel, ↵ adalah baris baru (0A) dan ␍↵ adalah baris baru Windows (0D 0A).
| Input | Byte | SHA-256 | Keterangan |
|---|---|---|---|
(teks kosong) | 0 | e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 | Input kosong 0 byte. File kosong menghasilkan nilai yang sama. |
abc | 3 | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | Contoh pertama dalam dokumen contoh NIST. |
abc↵ | 4 | edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb | Ada tambahan satu byte baris baru (0A) di akhir. |
hello | 5 | 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 | Sama dengan hasil printf hello dan echo -n hello. |
hello↵ | 6 | 5891b5b522d5df086d0ff0b110fbd9d21bb4fc7163af34d08286a2e846f6be03 | Sama dengan hasil echo hello | sha256sum. |
hello␍↵ | 7 | cd2eca3535741f27a8ae40c31b0c41d4057a7a7b912b33b9aed86485d1c84676 | Baris yang diakhiri baris baru Windows (0D 0A). |
[BOM]hello | 8 | 7489ebbcc2a00056ddaaaac190bce473e5c03696ea1bd8ed83cf59a174283862 | Isi file yang diawali BOM UTF-8 (EF BB BF). |
café | 5 | 850f7dc43910ff890f8879c0ed26fe697c93a067ad93a7d50f466a7028a9bf4e | Kata "café" dengan é bentuk gabungan (NFC, U+00E9), 5 byte. |
café | 6 | 81ef060bcd98adc7824eb5c1ada83c32491b16018e11e79f00ab9d09e04b015a | Kata "café" dengan é bentuk terurai (NFD, e + U+0301), 6 byte. Di layar tampak sama dengan baris di atas. |
Dua baris terakhir adalah kata "café" yang sama. macOS kadang menyimpan nama file dalam bentuk terurai (NFD), sehingga hash yang dibuat dari nama file yang disalin bisa berbeda dari nilai yang dibuat di Windows. Gunakan tombol normalisasi di mode teks (NFC dan NFD) untuk menghitung dengan kedua cara.
Format yang bisa ditempelkan sebagai nilai acuan
Setiap penyedia unduhan menuliskan hash dengan cara berbeda. Kolom B membaca semua format di bawah ini, dan jika ada 64 digit heksadesimal dalam satu baris, nama file di baris itu ikut dibaca. Jika beberapa baris ditempelkan, tiap baris dibaca terpisah dan diperlakukan sebagai daftar.
| Format | Contoh | Keterangan |
|---|---|---|
| 64 digit heksadesimal | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | Notasi yang paling umum. Huruf besar dan kecil dianggap nilai yang sama. |
| Huruf besar per 8 digit | BA7816BF 8F01CFEA 414140DE 5DAE2223 B00361A3 96177A9C B410FF61 F20015AD | Nilai yang dipotong menjadi kata 8 digit seperti di dokumen contoh NIST. Spasi, titik dua, dan tanda hubung dibuang saat dibaca. |
| Daftar sha256sum | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad abc.txt | Urutannya nilai, spasi, karakter mode (spasi atau *), lalu nama file. File SHA256SUMS memakai format ini. |
| Gaya BSD (--tag) | SHA256 (abc.txt) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | Format yang dipakai sha256sum --tag dan shasum --tag. |
| OpenSSL | SHA256(abc.txt)= ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | Keluaran openssl dgst -sha256. OpenSSL 3 menuliskannya sebagai SHA2-256. |
| Tabel PowerShell | SHA256 BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD C:\Users\me\Downloads\abc.txt | Baris keluaran Get-FileHash. Nilainya huruf besar, dan dari path hanya nama file yang dipakai. |
| Base64 | ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= | 32 byte yang ditulis dengan 44 karakter. |
| SRI (integrity) | sha256-ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0= | Notasi atribut integrity pada tag script dan link di halaman web. |
Jika panjang heksadesimal bukan 64 digit, kemungkinan besar itu hash lain. 32 digit adalah panjang MD5, 40 digit SHA-1, 56 digit SHA-224, 96 digit SHA-384, dan 128 digit SHA-512. Alat ini hanya menghitung SHA-256, jadi jika nilai seperti itu dimasukkan, alat ini memberi tahu algoritma yang tampaknya dipakai beserta perintah untuk menghitungnya di komputer Anda.
Perintah untuk memeriksa nilai yang sama di komputer Anda
Hasil hitung di browser bisa diperiksa sekali lagi dengan perintah sistem operasi. Ganti 'namafile' pada perintah di bawah dengan nama file yang sebenarnya. Jika nama file mengandung spasi, apit dengan tanda kutip ganda.
| Lingkungan | Perintah | Yang perlu diketahui |
|---|---|---|
| Windows PowerShell | Get-FileHash namafile | Jika algoritma tidak ditulis, yang dipakai SHA256. Nilainya muncul dalam huruf besar. |
| Command Prompt Windows | certutil -hashfile namafile SHA256 | Nama algoritma SHA256 wajib ditulis di bagian akhir. |
| macOS | shasum -a 256 namafile | Tanpa -a, shasum menghitung SHA-1, jadi tambahkan -a 256. |
| Linux | sha256sum namafile | Keluarannya berurutan: nilai, dua spasi, lalu nama file. |
| Periksa dengan daftar | sha256sum -c --ignore-missing SHA256SUMS | Untuk tiap file dalam daftar, hasilnya OK atau FAILED. --ignore-missing melewati file yang belum diunduh. |
Alasan umum hash teks tidak cocok
Hash file membaca byte apa adanya sehingga jarang membingungkan, tetapi hash teks sering meleset karena byte yang tidak terlihat di layar. Hampir semuanya termasuk salah satu dari lima kasus berikut.
| Penyebab | Perbedaan byte | Cara menyamakan di alat ini |
|---|---|---|
| Baris baru di akhir pada echo | Ada tambahan satu 0A | Aktifkan 'Satu baris baru di akhir'. Di terminal, gunakan echo -n atau printf agar baris baru tidak ditambahkan. |
| Baris baru Windows | Tiap baris memakai 0D 0A, bukan 0A | Ubah baris baru ke CRLF. Kolom input di browser menyimpan baris baru sebagai LF. |
| BOM UTF-8 | EF BB BF di awal | Periksa file dengan BOM dengan mode file. Daftar penyebab akan memberi tahu jika perbedaan BOM ditemukan. |
| Bentuk gabungan huruf beraksen | é berukuran 2 byte (NFC) atau 3 byte (NFD) | Ubah normalisasi ke NFC atau NFD. Nilai awalnya adalah input apa adanya. |
| Spasi di awal dan akhir | Spasi 20, tab 09 | Hapus di kolom input. Alat ini tidak menghapus spasi secara otomatis. |
Jika ada nilai acuan, lima kasus ini dan kombinasinya dicoba satu per satu, dimulai dari perubahan yang paling sedikit. Karena itu alat ini bisa langsung menunjuk penyebabnya, misalnya "Cocok dengan nilai acuan jika satu baris baru ditambahkan di akhir". Huruf besar dan kecil adalah byte yang berbeda, jadi tidak dicoba diganti.
Cara membaca gambar sidik
Membaca dan membandingkan 64 digit satu per satu lebih mudah keliru daripada yang dikira. Karena itu OpenSSH punya fitur VisualHostKey yang menampilkan sidik kunci server sebagai gambar kecil, dan gambar sidik di alat ini memakai cara yang sama (drunken bishop).
- Gerak dimulai dari tengah papan selebar 17 kotak dan setinggi 9 kotak.
- 32 byte dibaca dari depan. Satu byte dipakai empat kali, 2 bit demi 2 bit mulai dari bit paling bawah, dan tiap kali bergerak satu langkah diagonal. Jika bit pertama bernilai 1, geraknya ke kanan, jika 0 ke kiri. Jika bit kedua bernilai 1, geraknya ke bawah, jika 0 ke atas. Saat menyentuh tepi papan, gerak berhenti di tempat itu.
- Makin sering sebuah kotak dilewati, makin pekat warnanya. Lingkaran adalah titik awal dan belah ketupat adalah titik akhir setelah 128 langkah.
Jika dua gambar tampak berbeda sekilas, nilainya memang berbeda. Namun gambar yang mirip belum tentu berarti nilainya sama. Penilaian selalu dibuat dengan pencocokan 64 digit, dan gambar hanya dipakai sebagai alat bantu untuk memeriksa sekilas dengan mata.
Kesalahan yang sering terjadi
- Menyalin baris yang salah dari daftar: SHA256SUMS memuat banyak baris untuk tiap versi, sistem operasi, dan CPU. Daripada menyalin satu baris, tempelkan seluruh daftar agar alat ini mencari baris dengan nilai atau nama yang sama.
- File yang unduhannya belum selesai: jika ukurannya lebih kecil dari yang tertulis di halaman unduhan, atau namanya sementara seperti .crdownload atau .part, nilainya pasti berbeda.
- File dengan (1) di belakang namanya: jika file yang sama diunduh dua kali, browser menambahkan (1) pada namanya. Nama tidak termasuk dalam hash, jadi isi yang sama menghasilkan nilai yang sama. Saat mencari nama di daftar, alat ini mengabaikan (1) dan perbedaan huruf besar atau kecil.
- File yang diekstrak lalu dikemas ulang: walaupun file di dalamnya sama, metode kompresi dan informasi waktu berubah, sehingga hash arsipnya berbeda dari aslinya.
- Menempelkan isi file ke kolom teks: saat memeriksa hash file teks, menyalin dan menempelkan isinya bisa mengubah baris baru, BOM, dan pengodean. Periksa hash file dengan mode file.
- Membandingkan dengan nilai dari algoritma lain: jika MD5, SHA-1, dan SHA-512 tertulis bersama di satu halaman, lihat panjangnya dulu. SHA-256 panjangnya 64 digit.
Batasan dan hal yang perlu diperhatikan
- Nilai yang cocok hanya berarti kedua deretan byte sama. Itu tidak berarti filenya aman atau pembuatnya dapat dipercaya.
- Jika hash dan file diambil dari server yang sama, keduanya bisa sama-sama diubah ketika server diretas. Karena itu penyedia seperti Ubuntu memberi tanda tangan GPG pada file SHA256SUMS dan menganjurkan agar tanda tangannya ikut diperiksa. Alat ini tidak memeriksa tanda tangan.
- Alat ini hanya menghitung SHA-256. Pada MD5 dan SHA-1, tabrakan yang sengaja menghasilkan hash yang sama sudah benar-benar dibuat (untuk SHA-1, Google dan CWI mengumumkannya pada 2017), dan NIST mengumumkan bahwa SHA-1 dipensiunkan secara bertahap sampai akhir 2030. Untuk memeriksa pemalsuan, gunakan SHA-256 atau yang lebih kuat.
- Kecepatan hitung bergantung pada kemampuan perangkat, sekitar puluhan sampai ratusan MB per detik. File beberapa GB butuh waktu, dan perhitungan berhenti jika tab ditutup. Untuk file yang hanya ada di cloud pada ponsel, file baru bisa dibaca setelah perangkat selesai mengunduhnya.
- Mode teks hanya membentuk byte dengan UTF-8. Teks yang disimpan dengan pengodean lain, seperti Windows-1252 atau Shift_JIS, diperiksa dengan mode file.
- Gambar sidik hanya alat bantu visual dan tidak dipakai untuk penilaian.
Sumber
Tanggal pemeriksaan NIST FIPS 180-4 dan dokumen contoh SHA-256, panduan dan sumber GNU coreutils, Microsoft, dan OpenSSH, serta panduan Ubuntu diperiksa langsung pada naskah aslinya pada 22 Oktober 2026. Nilai pada tabel contoh dipastikan menghasilkan hasil yang sama dengan alat ini, crypto Node.js, dan sha256sum di macOS, sedangkan gambar sidik dicocokkan dengan gambar yang digambar ssh-keygen dari 32 byte yang sama.
- 01NIST — FIPS 180-4 Secure Hash Standard (SHS)Definisi SHA-256, terbit Agustus 2015
- 02NIST — Contoh perhitungan SHA-256 (SHA256.pdf)Nilai antara dan hasil untuk abc dan pesan 448 bit, notasi kata 8 digit huruf besar
- 03sha256sum(1) — Manual GNU coreutilsFormat baris keluaran, --tag, -c, --ignore-missing
- 04Microsoft Learn — Get-FileHashAlgoritma bawaan SHA256, contoh keluaran huruf besar
- 05Microsoft Learn — certutil-hashfile InFile [HashAlgorithm], daftar algoritma yang didukung
- 06Ubuntu — How to verify your Ubuntu downloadsha256sum -c SHA256SUMS dan pemeriksaan tanda tangan SHA256SUMS.gpg
- 07Sumber OpenSSH — sshkey.c fingerprint_randomartPapan 17 × 9, empat langkah dengan 2 bit per byte, titik awal S dan titik akhir E
- 08Manual OpenBSD — ssh_config(5) VisualHostKeyPengaturan yang juga menampilkan sidik kunci sebagai gambar
- 09NIST — NIST Retires SHA-1 Cryptographic AlgorithmDiumumkan 15 Desember 2022, dipensiunkan paling lambat 31 Desember 2030
- 10Google Security Blog — Announcing the first SHA1 collisionFebruari 2017, Google dan CWI Amsterdam mengumumkan tabrakan nyata
- 11W3C — Subresource IntegrityNotasi Base64 setelah sha256- dan sha384- pada atribut integrity
- 12Unicode — UAX #15 Unicode Normalization FormsNormalisasi NFC dan NFD
Pertanyaan yang sering diajukan
Apakah file yang saya pilih diunggah ke server?
Tidak. File dibaca dan dihitung per 4 MiB di dalam browser ini, dan isi file maupun nilai hasil hitung tidak dikirim ke server. Setelah perhitungan selesai, hanya nilai di layar yang tersisa.
Apakah file ISO berukuran beberapa GB bisa diperiksa?
Bisa. File tidak dimuat seluruhnya ke memori sekaligus, melainkan dibaca per bagian, sehingga tidak ada batas ukuran. Namun kecepatan hitung sekitar puluhan sampai ratusan MB per detik tergantung perangkat, jadi file besar butuh waktu. Selama itu kemajuan dan sisa waktu ditampilkan.
Jika nilainya cocok, apakah file itu aman?
Cocok berarti byte file Anda sama dengan byte file yang ditunjuk nilai acuan. Apakah nilai acuan itu berasal dari penyedia resmi, dan apakah filenya sendiri aman, perlu diperiksa terpisah. Jika penyedia menyediakan tanda tangan untuk daftar checksum, sebaiknya tanda tangan itu juga diperiksa.
Bolehkah membandingkan dengan nilai yang ditulis huruf besar?
Boleh. Huruf besar dan kecil pada heksadesimal dianggap nilai yang sama. Nilai yang dipisah spasi per 8 digit atau dengan titik dua juga dibaca sebagai 64 digit setelah pemisahnya dibuang.
Mengapa hash dari terminal berbeda dengan hash teks di sini?
echo menambahkan satu byte baris baru di akhir, sehingga echo hello dan hello di alat ini menghasilkan nilai yang berbeda. Jika nilai acuan ditempelkan, alat ini mengganti perbedaan baris baru di akhir, baris baru Windows, dan bentuk gabungan Unicode untuk mencari kondisi yang cocok, lalu memberi tahu Anda.
Bolehkah seluruh daftar SHA256SUMS ditempelkan?
Boleh. Jika beberapa baris ditempelkan, nilai dan nama file dibaca tiap baris, lalu dicari baris yang nilainya sama dengan file Anda. Jika tidak ada nilai yang sama, alat ini mencocokkan dengan baris yang namanya sama dan menunjukkan baris mana yang berbeda. File daftar juga bisa diseret atau dimuat lewat 'Buka file daftar'.
Apa maksud nilai 40 digit atau 128 digit?
Heksadesimal 40 digit adalah panjang nilai SHA-1, dan 128 digit adalah panjang nilai SHA-512. Alat ini hanya menghitung SHA-256, jadi jika nilai seperti itu dimasukkan, alat ini memberi tahu algoritma yang tampaknya dipakai dan perintah untuk menghitungnya di Windows, macOS, dan Linux.
Bagaimana cara memeriksa apakah dua file sama?
Ubah kolom B ke 'File lain' lalu masukkan kedua file masing-masing, dan kedua nilai SHA-256 dicocokkan. Jika nilainya berbeda, selisih ukuran dan posisi byte pertama yang berbeda juga ditampilkan.