tooly

Pembuat hash

Hitung digest MD5, SHA-1, SHA-256, SHA-384, dan SHA-512 dari teks atau file apa pun. Hash diperbarui saat Anda mengetik. File di-hash secara lokal, jadi Anda bisa memverifikasi unduhan besar dengan privat.

Semuanya berjalan di browser Anda — tidak ada yang dikirim

Cara menggunakan

  1. 1

    Ketik atau tempel teks, atau pilih file.

  2. 2

    Kelima hash dihitung seketika.

  3. 3

    Salin hash yang Anda perlukan.

Untuk apa hash berguna

Fungsi hash kriptografis mengubah input berukuran berapa pun menjadi sidik jari dengan panjang tetap. Input yang sama selalu menghasilkan digest yang sama, dan mengubah satu bit saja pada input menghasilkan digest yang sama sekali berbeda. Anda tidak bisa merekonstruksi input dari digest, dan untuk algoritme modern, dalam praktiknya Anda tidak bisa menemukan dua input dengan digest yang sama.

Itu membuat hash berguna setiap kali Anda perlu tahu apakah dua hal identik tanpa membandingkannya byte demi byte:

  • Memverifikasi unduhan. ISO Linux, image firmware, dan banyak installer mencantumkan SHA-256 di samping tautan unduhan. Jika file Anda menghasilkan nilai yang sama, file tiba dengan utuh.
  • Menemukan duplikat. Dua foto atau dokumen dengan SHA-256 yang sama adalah file yang sama, apa pun namanya.
  • Cache key dan ETag. Server web dan alat build meng-hash konten untuk mengetahui apakah konten berubah.
  • Integritas di API. Webhook, lock file paket, dan atribut Subresource Integrity semuanya mengandalkan digest.
  • Debugging. Membandingkan hash yang dihitung kode Anda dengan nilai acuan cepat menunjukkan apakah bug ada di proses hashing atau di input.

Lima algoritme berdampingan

Alat ini menghitung kelimanya sekaligus, jadi Anda bisa mencocokkan format apa pun yang dicantumkan sebuah situs.

  • MD5, 128 bit, 32 karakter hex. Dirancang pada 1991. Tabrakan praktis sudah bisa dibuat sejak 2004, jadi tidak boleh dipakai di tempat penyerang bisa merekayasa input. Masih umum untuk cek duplikat cepat dan checksum lawas.
  • SHA-1, 160 bit, 40 karakter hex. Ditinggalkan setelah tabrakan publik pertama pada 2017. Git secara historis mengidentifikasi objek dengan SHA-1, itulah sebabnya algoritme ini masih ada di mana-mana.
  • SHA-256, 256 bit, 64 karakter hex. Default saat ini untuk checksum, sertifikat, package manager, dan blockchain.
  • SHA-384, 384 bit, 96 karakter hex. Varian terpotong dari SHA-512, sering dipakai di TLS dan hash Subresource Integrity.
  • SHA-512, 512 bit, 128 karakter hex. Keluarga yang sama dengan SHA-256 tetapi dengan operasi internal 64 bit, yang bisa membuatnya lebih cepat daripada SHA-256 di prosesor 64 bit.

Jika bisa memilih, cantumkan dan periksa SHA-256. MD5 dan SHA-1 hanya layak untuk mendeteksi kerusakan yang tidak disengaja, bukan manipulasi.

Mendapatkan hash yang cocok untuk teks

Jika digest Anda berbeda dengan milik orang lain untuk teks yang "sama", inputnya hampir tidak pernah benar-benar sama. Hal yang perlu diperiksa:

  • Baris baru di akhir. echo hello | sha256sum meng-hash hello diikuti line feed. Kotak teks di sini meng-hash persis apa yang Anda ketik, jadi hasilnya berbeda kecuali Anda menambahkan baris baru di akhir. Di command line, echo -n atau printf menghindari karakter tambahan itu.
  • Akhir baris. Windows memakai CR LF, Linux dan macOS memakai LF. Teks multi-baris yang ditempel bisa berubah akhir barisnya tergantung dari mana asalnya.
  • Encoding. Teks dikonversi ke UTF-8 sebelum di-hash. Sistem yang meng-hash byte Latin-1 atau UTF-16 akan mendapat hasil berbeda untuk apa pun di luar ASCII biasa.
  • Karakter tak terlihat. Spasi tak terputus dan karakter nol-lebar yang tersalin dari halaman web atau PDF terlihat identik di layar.
  • Huruf besar-kecil hex. Digest ditampilkan dalam huruf kecil. A3F… dan a3f… adalah nilai yang sama; bandingkan tanpa memperhatikan huruf besar-kecil.

Meng-hash file dan memverifikasi checksum

Hash file… membaca file yang dipilih secara lokal dan menghitung kelima digest dari byte persisnya. Nama dan tanggal file tidak memengaruhi hasil, hanya isinya. Keluarga SHA memakai implementasi Web Crypto bawaan browser; MD5 dihitung oleh pustaka JavaScript kecil karena browser tidak menyediakannya.

Untuk memverifikasi unduhan, buka halaman checksum dari penerbit, temukan baris untuk file Anda, dan bandingkan dengan baris yang sesuai di sini. Membandingkan enam atau delapan karakter pertama dan terakhir adalah pengecekan cepat; untuk keamanan sungguhan, bandingkan seluruh string. Jika nilainya berbeda, unduh ulang file sebelum menduga ada manipulasi, karena unduhan yang terputus adalah penyebab paling mungkin.

Seluruh file dimuat ke memori sebelum di-hash, jadi file yang sangat besar, terutama beberapa gigabyte di ponsel, bisa lambat atau gagal. Tidak ada yang diunggah.

Apa yang bukan fungsi hash

Hash biasa bukan cara untuk menyimpan kata sandi. MD5 dan keluarga SHA dirancang untuk cepat, yang memungkinkan penyerang menguji miliaran tebakan per detik terhadap digest yang bocor. Penyimpanan kata sandi membutuhkan fungsi yang sengaja dibuat lambat dengan salt, seperti bcrypt, scrypt, atau Argon2. Jika Anda sekadar butuh rahasia yang kuat, gunakan pembuat kata sandi.

Hash juga bukan enkripsi. Hash bersifat satu arah: tidak ada kunci untuk mendapatkan kembali aslinya.

FAQ

Apakah file saya diunggah?

Tidak. Hashing memakai Web Crypto API di browser. File tidak pernah keluar dari perangkat Anda.

Hash mana yang sebaiknya dipakai?

SHA-256 untuk checksum dan integritas saat ini. MD5 dan SHA-1 cukup untuk mendeteksi kerusakan tak sengaja, tetapi tidak aman terhadap manipulasi.

Bisa memverifikasi file yang diunduh?

Ya. Pilih filenya, lalu bandingkan SHA-256 dengan nilai yang dipublikasikan di halaman unduhan.

Apakah ada batas ukuran file?

Tidak ada batas tetap, tetapi seluruh file dibaca ke memori sebelum di-hash, jadi file berukuran beberapa gigabyte bisa gagal di perangkat bermemori kecil, terutama ponsel. Tidak ada yang diunggah.

Alat terkait