Konverter Base64 ke Hex

Tempel Base64 dan lihat byte yang sama dalam bentuk heksadesimal. Berguna untuk membandingkan hash, memeriksa kunci dan tanda tangan, serta mencocokkan sidik jari yang ditampilkan dalam format berbeda oleh berbagai alat.

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Tempel string Base64 ke kolom masukan. Base64 sudah dipilih sebagai format sumber dan hex sebagai format tujuan.
  2. Baca keluaran heksadesimal: dua digit hex untuk setiap byte.
  3. Pilih pengodean tujuan lain, seperti Base58 atau Base32, jika Anda memerlukan format yang berbeda, atau tekan tombol Tukar masukan dan keluaran untuk mengonversi hex kembali ke Base64.
  4. Salin hasilnya.

Dua cara menulis byte yang sama

Hex dan Base64 sama-sama menuliskan data biner sebagai teks. Hex memakai dua karakter untuk setiap byte, sehingga nilai tiap byte mudah dibaca dan dibandingkan. Base64 memadatkan 3 byte menjadi 4 karakter dan sekitar sepertiga lebih pendek. Konversi di antara keduanya hanya mengubah notasi, datanya sendiri tidak pernah berubah:

NilaiBytePanjang hexPanjang Base64
Hash MD5163224
Hash SHA-1204028
Hash SHA-256, kunci publik Ed25519326444
Hash SHA-384489664
Hash SHA-512, tanda tangan Ed255196412888

Hex juga merupakan format yang ditampilkan oleh editor hex, penganalisis paket, dan debugger, sehingga dengan mengonversi Base64 ke hex Anda dapat menyandingkan data dengan apa yang ditampilkan alat-alat tersebut.

Kapan Anda memerlukan hex dari Base64

  • Membandingkan hash. Alat seperti sha256sum menampilkan hex, sedangkan atribut Subresource Integrity, hash Content Security Policy, dan header checksum seperti Content-MD5 memakai Base64. Konversikan salah satunya agar keduanya dapat dibandingkan.
  • Sidik jari SSH. ssh-keygen -l menampilkan sidik jari SHA256: sebagai Base64 tanpa padding, sedangkan record DNS SSHFP menyimpan digest SHA-256 yang sama dalam hex. Tempel bagian setelah SHA256: untuk mendapatkan bentuk hex-nya.
  • Kunci, IV, dan tanda tangan. Saat men-debug kode kriptografi, melihat byte dalam hex memudahkan Anda memeriksa panjang, membandingkan nilai, dan menemukan byte yang hilang atau berlebih.

Masukan yang diterima konverter

Spasi dan jeda baris dalam masukan Base64 diabaikan, karakter aman URL - dan _ diterima, dan padding = bersifat opsional, sehingga nilai yang disalin dari JSON, JWT, atau keluaran terminal dapat ditempel apa adanya. Konversi bekerja pada byte hasil dekode: hasilnya adalah hex dari data tersebut, bukan hex dari karakter Base64 itu sendiri. Untuk melihat kode hex dari sepotong teks, gunakan Base16.

# Shell
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

Pertanyaan yang sering diajukan

Apakah alat ini mengonversi teks Base64 atau byte yang diwakilinya?
Byte-nya. Base64 didekode terlebih dahulu, lalu setiap byte yang dihasilkan ditulis sebagai dua digit hex. Jika Anda ingin kode karakter dari string Base64 itu sendiri, enkode string tersebut sebagai teks dengan alat Base16.
Mengapa keluaran hex lebih panjang daripada masukan Base64?

Hex memerlukan 2 karakter per byte, sedangkan Base64 hanya sekitar 1,33. Digest SHA-256 sebesar 32 byte panjangnya 44 karakter dalam Base64 dan 64 karakter dalam hex.

Bagaimana cara mendapatkan hex huruf besar atau pemisah titik dua?
Digit hex tidak peka huruf besar-kecil, jadi nilai dalam huruf kecil dan huruf besar sama saja. Untuk gaya tertentu, tempel hex ke encoder Base16 sebagai masukan hex, lalu pilih Huruf besar, Pemisah berupa Spasi atau Titik dua, atau Awalan 0x.
Bisakah saya mengonversi nilai Base64URL dari JWT atau JSON Web Key?

Bisa. Karakter aman URL dan padding yang hilang ditangani secara otomatis, sehingga parameter kunci dan tanda tangan dapat ditempel tanpa diubah.