ByteCompress

Dekoder Base64

Dekode string yang terkode Base64 kembali ke teks biasa atau representasi biner aslinya. Mendukung alfabet Base64 standar RFC 4648 dan aman-URL, termasuk token JWT.

0 chars
FreeClient-sideNo signup

String Base64 tidak terlihat secara desain - SGVsbG8sIFdvcmxkIQ== tidak berarti apa-apa sampai didekode kembali menjadi Hello, World!. Didefinisikan dalam RFC 4648, Base64 mengkodekan setiap 3 byte input sebagai 4 karakter output, menambahkan sekitar 33% overhead. Dekoder ini membalikkan itu menggunakan API atob() dan TextDecoder bawaan browser. Ini mendukung baik Base64 standar maupun varian aman-URL (- dan _ sebagai pengganti + dan /) yang digunakan dalam JWT dan token OAuth. Tidak ada yang diunggah ke server mana pun.

Cara Mendekode Base64

  1. Tempelkan string yang terkode Base64 ke dalam kolom input.
  2. Pilih mode Standar atau aman-URL untuk mencocokkan cara data awalnya dikodekan.
  3. Teks biasa yang terdekode muncul segera di panel output.
  4. Klik Salin untuk menyalin hasilnya.

Bagaimana Cara Kerja Dekode Base64

Proses Dekode

Mendekode membalikkan pengkodean dengan tepat. Setiap karakter Base64 dipetakan kembali ke nilai 6-bit menggunakan tabel alfabet. Empat karakter berturut-turut (24 bit) membangun kembali tiga byte. Fungsi atob() di browser menangani Base64 standar secara native. Untuk Base64 aman-URL, - dan _ dikonversi kembali ke + dan / sebelum dekode. Urutan byte UTF-8 yang dihasilkan kemudian didekode menjadi string Unicode menggunakan TextDecoder.

Menangani Padding yang Hilang

Base64 standar memerlukan padding = untuk membuat panjang string menjadi kelipatan 4. JWT dan token OAuth menghapus padding untuk mengurangi ukuran. Dekoder ini secara otomatis menghitung dan menambahkan padding yang diperlukan berdasarkan panjang string. Jika panjang string mod 4 adalah 2, satu = diperlukan; jika 3, dua karakter = diperlukan.

Contoh

Input (Base64 Standar)

SGVsbG8sIFdvcmxkIQ==

Output

Hello, World!

Kasus Penggunaan Umum

  • Pemeriksaan token JWT - Dekode bagian header dan payload untuk membaca klaim tanpa pustaka
  • HTTP Basic Auth - Dekode Authorization: Basic dXNlcjpwYXNz header untuk memverifikasi kredensial yang tertanam
  • Pemeriksaan Data URI - Dekode bagian Base64 dari data:image/png;base64,... URI
  • Debugging respons API - Beberapa API mengkodekan konten biner dalam respons JSON menggunakan Base64

Praktik Terbaik

  • Pilih mode yang benar (Standar vs aman-URL) - menggunakan mode yang salah menghasilkan output yang tidak jelas
  • Untuk token JWT, dekode hanya header (bagian pertama) dan payload (bagian kedua); bagian ketiga adalah tanda tangan kriptografi, bukan teks yang terkode
  • Jika hasilnya adalah karakter yang tidak terbaca, data sumber adalah biner (gambar, PDF, dll.), bukan teks
  • Pendekodean Base64 bukanlah pemeriksaan keamanan - siapa pun dapat mendekodenya

Untuk mengkodekan teks kembali ke Base64, gunakan Pengode Base64. Untuk data yang terkode-URL, gunakan Dekoder URL. Untuk memeriksa JWT secara menyeluruh, dekode dua bagian yang dipisahkan titik pertama secara terpisah dengan mode aman-URL yang dipilih.

Pertanyaan Umum

Bagaimana cara saya mendekode token JWT dengan alat ini?

JWT terdiri dari tiga bagian yang dipisahkan oleh titik: header.payload.signature. Salin header (bagian pertama) atau payload (bagian kedua), pilih mode aman-URL, dan tempelkan ke dalam dekoder. Hasilnya adalah objek JSON dengan algoritma (header) atau klaim (payload). Jangan dekode tanda tangan - itu adalah hash kriptografi, bukan string JSON yang terkode Base64.

Mengapa hasil dekode saya menunjukkan karakter aneh?

Ini berarti salah satu dari tiga hal: (1) data asli adalah biner (gambar, PDF, zip) daripada teks; (2) Anda memilih mode yang salah - coba beralih antara Standar dan aman-URL; (3) teks asli dikodekan menggunakan charset selain UTF-8. Coba ganti mode terlebih dahulu. Jika hasilnya masih tidak terbaca, data sumber kemungkinan besar biner.

Apakah saya perlu karakter padding (==) agar dekode berfungsi?

Base64 standar memerlukan padding untuk membuat panjang string menjadi kelipatan 4. Dekoder ini secara otomatis menambahkan padding yang hilang, yang penting untuk token JWT dan OAuth yang menghapus karakter = di akhir. Tempelkan string apa adanya dan dekoder akan menangani padding secara otomatis.

Apakah data sensitif saya aman saat mendekode di sini?

Ya. Dekode sepenuhnya berjalan di browser Anda menggunakan API atob() dan TextDecoder bawaan. Token, kredensial, dan data pribadi yang Anda tempel tidak pernah dikirim ke server mana pun, tidak pernah dicatat, dan tidak pernah disimpan. Buka tab Jaringan di browser saat mendekode dan Anda akan melihat tidak ada permintaan keluar.

Apa perbedaan antara Base64 Standar dan aman-URL?

Base64 standar (RFC 4648 §4) menggunakan + dan /. Base64 aman-URL (RFC 4648 §5) menggantinya dengan - dan untuk menghindari konflik dalam URL, nama file, dan header HTTP. JWT, token OAuth, dan verifier kode PKCE semuanya menggunakan Base64 aman-URL. Jika string Anda mengandung - atau , pilih mode aman-URL.