MUTools

Enkode / Dekode

Pembuat Nilai Hash

Alat Pembuat Nilai Hash adalah alat untuk menghitung nilai hash MD5, SHA-1, SHA-256, dan SHA-512 dari teks atau berkas yang Anda masukkan sekaligus. Untuk keperluan seperti konversi md5, pembuatan sha256, dan pencocokan checksum, alat ini berguna saat Anda ingin "memeriksa beberapa algoritma sekaligus" atau "memastikan berkas yang diunduh tidak dimanipulasi".

Mode perhitungan
Input
Algoritma
Format output
Hasil perhitungan
Hasil akan ditampilkan di sini setelah Anda memasukkan input atau memilih berkas
Jumlah byte input: 0

Semua teks dan berkas yang Anda masukkan diproses di dalam browser Anda dan tidak dikirim ke server.

Apa itu alat Pembuat Nilai Hash?

Alat Pembuat Nilai Hash adalah alat untuk menghitung nilai hash MD5, SHA-1, SHA-256, dan SHA-512 dari teks atau berkas yang Anda masukkan sekaligus. Untuk keperluan seperti konversi md5, pembuatan sha256, dan pencocokan checksum, alat ini berguna saat Anda ingin "memeriksa beberapa algoritma sekaligus" atau "memastikan berkas yang diunduh tidak dimanipulasi".

Pada mode input teks, semua nilai hash diperbarui secara real-time begitu Anda mengetik karakter ke kolom input. Karakter multibita seperti bahasa Jepang, emoji, dan simbol pun ditangani dengan benar sebagai UTF-8, jadi Anda tidak perlu memikirkan encoding. Jika beralih ke mode input berkas, Anda dapat menghitung 4 algoritma secara bersamaan hanya dengan menyeret dan melepas berkas atau memilihnya melalui tombol "Pilih berkas".

Format output dapat dipilih dari heksadesimal (huruf kecil), heksadesimal (huruf besar), atau Base64. Anda dapat mengalihkannya hanya dengan satu klik sesuai kebutuhan, misalnya menyesuaikan dengan notasi shasum / md5sum pada baris perintah, atau langsung menempel ke format Base64 yang digunakan pada header Digest HTTP. Jika Anda menempel nilai yang diharapkan ke kolom "Pencocokan hash", sistem akan menampilkan ✓ / ✗ apakah nilai tersebut cocok dengan hasil perhitungan tiap algoritma, sehingga verifikasi integritas berkas unduhan atau pencocokan dengan checksum yang dihasilkan CI dapat segera dilakukan.

Selain itu, jika Anda mengalihkan "Mode perhitungan" di bagian atas ke HMAC, Anda dapat membuat HMAC-SHA1 / HMAC-SHA256 / HMAC-SHA512 menggunakan kunci rahasia. Berguna untuk verifikasi tanda tangan Webhook atau pemeriksaan manual tanda tangan permintaan API. Perlu dicatat, pada mode HMAC, MD5 tidak dapat digunakan (karena Web Crypto API bawaan browser tidak mendukung HMAC-MD5).

Teks, berkas, dan kunci rahasia yang Anda masukkan seluruhnya diproses di dalam browser Anda dan sama sekali tidak dikirim ke server eksternal. Anda pun dapat menghitung dengan tenang untuk string yang berisi token atau informasi pribadi, maupun berkas rahasia. Berjalan sepenuhnya di browser Anda.

Cara penggunaan

  1. Pada "Mode perhitungan" di bagian atas, pilih "Hash" atau "HMAC (dengan kunci)". Jika memilih HMAC, gunakan juga kolom input kunci di bawahnya.
  2. Pada "Input", alihkan antara "Teks" atau "Berkas". Teks ditempel apa adanya, sedangkan berkas dimuat dengan menyeret dan melepas atau melalui tombol "Pilih berkas".
  3. Pada "Algoritma", centang hash yang ingin Anda hitung (MD5 / SHA-1 / SHA-256 / SHA-512). Secara default semuanya aktif.
  4. Pada "Format output", pilih heksadesimal (huruf kecil / huruf besar) atau Base64. Jika ingin menyesuaikan dengan output baris perintah, umumnya digunakan hex huruf kecil.
  5. Jika ingin memverifikasi integritas berkas unduhan dan sejenisnya, tempel nilai yang diharapkan ke kolom "Pencocokan hash", maka ✓ / ✗ akan ditampilkan (boleh hex maupun Base64).
  6. Anda dapat menyalin nilai hash dari algoritma yang dipilih ke clipboard dengan tombol "Salin" di kanan atas kartu hasil.

Skenario penggunaan

  • Saat ingin memastikan berkas ZIP / DMG / ISO perangkat lunak yang diunduh cocok dengan hash publik dari sumber distribusinya (pencocokan checksum).
  • Saat ingin mempelajari atau memeriksa cara kerja ID objek Git (SHA-1), atau ingin menghitung SHA-1 secara manual dari isi commit.
  • Saat ingin memverifikasi tanda tangan HMAC-SHA256 yang dibuat sisi server dengan mencocokkannya terhadap hasil perhitungan di tempat Anda, pada JWT, OAuth, Webhook, dan sejenisnya.
  • Saat ingin memeriksa perilaku secara manual sebelum mengimplementasikan pembuatan tanda tangan permintaan API, seperti AWS Signature V4 atau tanda tangan Webhook Slack / GitHub.
  • Saat ingin membuat MD5 / SHA-256 dengan cepat dari teks pendek (kata sandi, token, URL, dan sebagainya) untuk ditempel ke dokumen atau tiket.

Hal yang perlu diperhatikan

  • Teks dikodekan sebagai UTF-8 lalu dihitung hash-nya. Karakter multibita seperti bahasa Jepang, Tionghoa, emoji, dan simbol pun dapat dimasukkan apa adanya.
  • Berkas seluruhnya dibaca ke memori di dalam browser lalu dihitung. Batas ukuran berkas adalah 50MB, dan jika melebihinya akan terjadi kesalahan.
  • MD5 dan SHA-1 telah ditemukan tabrakan teoretisnya sehingga tidak disarankan untuk deteksi manipulasi atau keperluan kriptografi. Untuk keperluan baru, gunakan SHA-256 atau lebih tinggi (tidak masalah jika digunakan demi kompatibilitas dengan spesifikasi yang ada seperti pencocokan checksum).
  • Pada mode HMAC, MD5 tidak dapat digunakan (karena Web Crypto API bawaan browser tidak mendukung HMAC-MD5, sehingga tombol MD5 pun dinonaktifkan pada UI).
  • Kunci rahasia HMAC ditafsirkan sebagai urutan byte UTF-8. Jika ingin menangani kunci biner (yang dikodekan dalam hex atau Base64), dekode terlebih dahulu sebelum menempelnya.
  • Format output "Base64" menghasilkan output yang setara dengan `-binary | base64` pada OpenSSL (Base64 standar, bukan URL-safe).
  • Pada kolom "Pencocokan hash", huruf besar dan kecil tidak dibedakan, dan spasi maupun pemisah ":" otomatis dihapus. Selain hex, nilai yang diharapkan berformat Base64 pun dapat ditempel apa adanya.

Pertanyaan yang sering diajukan

Apakah teks atau berkas yang dimasukkan dikirim ke server?
Tidak dikirim. Seluruh perhitungan hash berjalan sepenuhnya di dalam browser Anda. Anda pun dapat menggunakannya dengan tenang untuk data yang berisi token akses, berkas internal, atau informasi pribadi.
Saya dengar MD5 sudah tidak aman lagi. Apakah boleh digunakan?
Untuk keperluan kriptografi (penyimpanan kata sandi, deteksi manipulasi, tanda tangan elektronik, dan sebagainya) tidak disarankan. MD5 / SHA-1 sudah berada pada kondisi di mana tabrakan dapat dibuat secara realistis. Di sisi lain, untuk penggunaan demi menjaga kompatibilitas dengan spesifikasi yang ada, seperti pencocokan checksum distribusi atau ID objek Git, MD5 masih tetap berguna. Untuk desain baru, pilihlah SHA-256 atau lebih tinggi.
Hasilnya tidak cocok dengan `md5sum` / `shasum -a 256` di baris perintah.
Periksa hal-hal berikut. (1) Perintah `echo` menambahkan baris baru di akhir. Untuk membandingkan tanpa menyertakan baris baru, gunakan `echo -n` atau `printf`. (2) Alat ini mengodekan teks sebagai UTF-8. Jika kode karakter pada shell atau editor berbeda, urutan byte input pun berubah sehingga hasilnya tidak cocok.
Berapa batas ukuran berkas?
Saat ini batasnya adalah 50MB. Karena perhitungan dilakukan di memori browser, berkas yang terlalu besar dapat membuat perangkat menjadi lambat. Jika melebihi 50MB, kami sarankan menggunakan baris perintah (`shasum -a 256 <file>`).
Apa beda HMAC dengan hash biasa?
HMAC (Hash-based Message Authentication Code) adalah mekanisme yang menggabungkan hash dengan kunci rahasia. Karena isi yang sama akan menghasilkan nilai berbeda jika kuncinya berbeda, HMAC dapat digunakan tidak hanya untuk deteksi manipulasi pesan, tetapi juga untuk memverifikasi bahwa "pesan dibuat oleh pihak yang mengetahui kunci". HMAC banyak diadopsi pada verifikasi tanda tangan Webhook dan tanda tangan permintaan API.
Base64 jenis apa pada format output "Base64"?
Menghasilkan output dalam Base64 standar (A–Z, a–z, 0–9, +, /, padding =). Bukan URL-safe Base64 (format yang menggunakan - / _). Dalam istilah OpenSSL, ini setara dengan output `-binary | base64`.