Penyahkod Base64
Penyahkod Base64 ialah alat percuma yang memulihkan data asal daripada input berkod Base64.
Apakah pengekodan Base64 dan mengapa ia digunakan?
Base64 ialah kaedah untuk mewakili data binari menggunakan set aksara teks boleh cetak yang terhad. Kaedah ini digunakan kerana sesetengah sistem direka untuk menghantar teks dengan selamat tetapi tidak dapat mengendalikan sebarang bait dengan pasti.
Base64 standard menggunakan huruf besar dan kecil, angka, tanda tambah serta garis miring. Tanda sama dengan mungkin muncul di hujung sebagai pelapik. Pengekodan menambah saiz data kerana setiap tiga bait input menjadi empat aksara Base64.
Base64 ialah pengekodan, bukannya penyulitan. Sesiapa yang memiliki nilai berkod boleh menyahkodnya tanpa kata laluan atau kunci rahsia, jadi ia tidak menjamin kerahsiaan. Jangan anggap nilai Base64 sebagai tempat yang selamat untuk menyimpan kata laluan, kunci API atau maklumat peribadi.
Bagaimanakah cara menggunakan Penyahkod Base64?
Tampalkan nilai Base64 ke dalam alat ini dan nyahkodkannya, kemudian lihat hasil dalam medan Base64 dinyahkod. Pelayan menggunakan fungsi base64_decode PHP untuk melakukan penukaran.
Input dihantar ke pelayan melalui HTTPS dan tidak disimpan. Proses ini dilakukan pada pelayan, bukan sepenuhnya dalam pelayar anda. Oleh itu, elakkan menghantar bahan sensitif melainkan anda dibenarkan menghantarnya kepada perkhidmatan luar.
Base64 mengekalkan bait, bukannya makna. Nombor, ruang dan tanda baca hanyalah sebahagian daripada jujukan bait asal. Huruf beraksen dan tulisan bukan Latin juga boleh dikodkan, tetapi bait yang dinyahkod mesti ditafsirkan menggunakan pengekodan aksara yang betul, biasanya UTF-8 untuk kandungan web moden.
Contoh penggunaan dan pilihan format
Berikut ialah contoh ringkas Base64 standard:
Input: SGVsbG8=
Output: Hello
Tanda sama dengan di hujung ialah pelapik. Tanda ini melengkapkan blok Base64 yang terdiri daripada empat aksara dan tidak mewakili aksara tambahan dalam hasil yang dinyahkod.
Terdapat dua variasi abjad yang lazim:
- Base64 standard menggunakan + dan /. Variasi ini biasa digunakan dalam e-mel MIME, URI data dan banyak API berasaskan JSON.
- Base64url sebaliknya menggunakan - dan _. Variasi ini direka untuk URL, parameter pertanyaan dan token apabila + dan / mungkin menyusahkan. Pelapik juga sering tidak disertakan.
Pilih variasi yang diperlukan oleh sistem yang menghasilkan nilai tersebut. Penyahkod standard mungkin tersalah tafsir atau menolak input Base64url melainkan abjadnya ditukar terlebih dahulu. Jika anda perlu melakukan proses sebaliknya, gunakan Pengekod Base64. Untuk data imej berkod, Base64 kepada Imej mungkin lebih berguna daripada melihat data binari mentah sebagai teks.
Di manakah Base64 biasanya digunakan?
Base64 sering ditemui apabila data binari perlu dihantar melalui format yang berorientasikan teks. Nilainya mungkin muncul secara tersendiri atau sebagai sebahagian daripada dokumen yang lebih besar.
- URI data membenamkan imej kecil, fon atau sumber lain dalam HTML dan CSS, lazimnya selepas awalan seperti data:image/png;base64,.
- Muatan JSON kadangkala membawa fail, sijil atau bahan kriptografi sebagai rentetan Base64 kerana JSON tidak mempunyai jenis nilai binari asli.
- E-mel MIME menggunakan Base64 untuk lampiran dan bahagian mesej yang tidak dapat dihantar dengan selamat sebagai teks biasa.
- Rentetan pertanyaan dan token web mungkin menggunakan Base64url bagi mengelakkan aksara yang mempunyai makna khas dalam URL.
- Fail konfigurasi dan pemboleh ubah persekitaran kadangkala mengandungi Base64 kerana sistem yang menggunakannya memerlukan teks boleh cetak.
Nama domain berantarabangsa yang kelihatan seperti data berkod memerlukan penyahkod lain. Label domain yang bermula dengan xn-- menggunakan Punycode, bukannya Base64. Memasukkannya ke dalam penyahkod Base64 tidak akan memulihkan nama domain Unicode yang dimaksudkan.
Mengapa penyahkodan Base64 gagal atau menghasilkan aksara yang tidak difahami?
Penyahkodan Base64 biasanya gagal atau menghasilkan output yang tidak boleh dibaca kerana input menggunakan variasi yang salah, tidak lengkap, telah dikodkan dua kali atau mewakili data binari dan bukannya teks.
- Abjad yang salah berlaku apabila input Base64url yang mengandungi - atau _ dianggap sebagai Base64 standard, atau sebaliknya.
- Pelapik yang hilang atau rosak boleh menyebabkan blok terakhir tidak lengkap. Sesetengah penyahkod menerima input tanpa pelapik, tetapi bilangan aksara dengan baki satu selepas dibahagi empat tidak boleh membentuk Base64 yang sah.
- Pengekodan berganda menghasilkan satu lagi rentetan yang kelihatan seperti Base64 selepas penyahkodan pertama. Penyahkodan kali kedua mungkin diperlukan jika sumber tersebut sengaja mengekodkan data dua kali.
- Output binari memang dijangka untuk imej, PDF, arkib termampat dan bait yang disulitkan. Membuka bait tersebut sebagai teks akan menghasilkan simbol atau aksara pengganti.
- Pengekodan teks yang salah menyebabkan bait sah yang telah dinyahkod dipaparkan dengan tidak betul. Sebagai contoh, data UTF-8 yang ditafsirkan sebagai Windows-1252 boleh menukar aksara beraksen menjadi teks rosak.
- Kandungan tambahan di sekeliling nilai mungkin merangkumi awalan URI data, tanda petik, aksara lepas JSON atau pengekodan peratus URL yang perlu dibuang terlebih dahulu.
Mod lalai base64_decode dalam PHP tidak ketat dan boleh membuang aksara di luar abjad standard. Ini mungkin membolehkan pemisah baris daripada input berformat MIME diterima, tetapi juga boleh menyembunyikan kesilapan penyalinan dan bukannya melaporkannya dengan jelas. Bandingkan output yang tidak dijangka dengan format sumber dan semak nilai asal aksara demi aksara.
Soalan lazim
Adakah Base64 membezakan huruf besar dan kecil?
Ya. Huruf besar dan kecil mewakili nilai yang berbeza dalam abjad Base64. Menukar huruf besar atau kecil supaya nilai kelihatan seragam akan merosakkan bait yang dinyahkod.
Bolehkah saya menyahkod JWT dengan penyahkod Base64?
JSON Web Token biasanya mengandungi bahagian berkod Base64url yang dipisahkan oleh noktah. Setiap bahagian mesti dikendalikan secara berasingan dan pelapik yang tidak disertakan mungkin perlu dipulihkan. Membaca muatan tidak mengesahkan tandatangan token atau membuktikan bahawa kandungannya tulen.
Bolehkah hasil penyahkodan Base64 mengandungi virus atau fail berniat jahat?
Ya, kerana Base64 boleh mewakili sebarang bait, termasuk fail boleh laku, skrip atau dokumen berniat jahat. Proses penyahkodan tidak menjalankan kandungan itu dengan sendirinya, tetapi menyimpan atau membuka hasil yang tidak diketahui mungkin tidak selamat. Semak jenis fail yang dijangka dan sumbernya sebelum mengendalikan output binari.
Mengapa hasil yang dinyahkod mengandungi aksara nol?
Bait nol boleh muncul dalam format binari dan dalam teks berkod UTF-16, yang memasangkan banyak aksara Latin dengan bait sifar. Jika sumber mendakwa kandungan itu ialah teks, semak pengekodan aksaranya dan jangan terus memadamkan aksara nol kerana tindakan tersebut boleh merosakkan data.
Adakah Base64 mempunyai sambungan fail tetap?
Tidak. Base64 ialah kaedah perwakilan, bukannya format fail, jadi tiada sambungan khusus yang diwajibkan. Bait yang dinyahkod menentukan sama ada hasilnya ialah PNG, PDF, arkib ZIP, fail teks atau sesuatu yang lain.
Semakan akhir
Pastikan anda hanya menyalin nilai berkod, kenal pasti sama ada nilainya menggunakan Base64 standard atau Base64url, dan kekalkan penggunaan huruf besar serta kecil seperti dalam nilai asal. Jika hasilnya tidak boleh dibaca, semak sama ada ia sepatutnya dibuka sebagai fail dan bukannya dipaparkan sebagai teks. Jangan anggap nilai yang berjaya dinyahkod semestinya boleh dipercayai atau sulit.
Alat serupa
Alat popular
Jana tandatangan tersuai anda sendiri dengan mudah dan muat turunnya dengan mudah.
Gunakan alat ping kami untuk menyemak status dan masa tindak balas mana-mana laman web, pelayan atau port dengan cepat dan cekap.
Alat carian IP Digily Link memberikan maklumat terperinci tentang mana-mana alamat IP. Gunakan perkhidmatan dalam talian percuma ini untuk mendapatkan data IP yang menyeluruh.
Jana pautan WhatsApp percuma anda serta-merta dengan Penjana Pautan WhatsApp kami. Tambah mesej tersuai dan mulakan sembang dengan satu klik, tanpa perlu log masuk atau menulis kod.