Cara menggunakan
- Tempel string Base64 ke kolom masukan. Base64 sudah dipilih sebagai format sumber dan hex sebagai format tujuan.
- Baca keluaran heksadesimal: dua digit hex untuk setiap byte.
- 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.
- 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:
| Nilai | Byte | Panjang hex | Panjang Base64 |
|---|---|---|---|
| Hash MD5 | 16 | 32 | 24 |
| Hash SHA-1 | 20 | 40 | 28 |
| Hash SHA-256, kunci publik Ed25519 | 32 | 64 | 44 |
| Hash SHA-384 | 48 | 96 | 64 |
| Hash SHA-512, tanda tangan Ed25519 | 64 | 128 | 88 |
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
sha256summenampilkan hex, sedangkan atribut Subresource Integrity, hash Content Security Policy, dan header checksum sepertiContent-MD5memakai Base64. Konversikan salah satunya agar keduanya dapat dibandingkan. - Sidik jari SSH.
ssh-keygen -lmenampilkan sidik jariSHA256:sebagai Base64 tanpa padding, sedangkan record DNS SSHFP menyimpan digest SHA-256 yang sama dalam hex. Tempel bagian setelahSHA256: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?
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?
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.