Pemberi/Penerima Sandi Base64

Pemberi dan penerima sandi Base64 kami mengubah teks ke pengodean Base64 dan sebaliknya secara waktu nyata. Tempel teks apa pun dan dapatkan versi berenkode Base64, atau tempel Base64 untuk mendekodenya kembali menjadi teks yang dapat dibaca. Mendukung Base64 standar (RFC 4648) dan Base64 yang aman untuk URL. Menangani karakter UTF-8, string JSON, dan teks besar. Semua pemrosesan berada di sisi klien — data Anda tidak pernah meninggalkan browser Anda.

star 4.9
auto_awesome AI
New

Pemberi Sandi Base64 calculator

0 characters
0 characters

lightbulb Tips

  • •Base64 output is always ~33% larger than input
  • •URL-safe Base64 uses - and _ instead of + and /
  • •Base64 is encoding, NOT encryption
  • •3 input bytes = 4 Base64 characters

How to Use the Pemberi Sandi Base64

swap_horiz

Pilih Mode

Pilih Enkode untuk mengubah teks ke Base64, atau Dekode untuk mengubah Base64 kembali ke teks.

text_fields

Masukkan Data

Ketik atau tempel teks Anda (untuk pengodean) atau string Base64 (untuk dekode).

content_copy

Dapatkan Hasil

Hasil muncul secara instan. Klik Salin untuk menyalin ke papan klip.

link

Opsi Aman untuk URL

Aktifkan mode aman URL untuk menggunakan - dan _ sebagai pengganti + dan / agar keluaran kompatibel dengan URL.

The Formula

Pengkodean Base64 mengubah data biner menjadi teks ASCII yang dapat dicetak dengan membagi bita masukan menjadi kelompok 6-bit dan memetakan setiap kelompok ke salah satu dari 64 karakter (A-Z, a-z, 0-9, +, /). Karena 3 bita (24 bit) dipetakan ke 4 karakter Base64, keluarannya ~33% lebih besar daripada masukan. Padding (=) ditambahkan jika panjang masukan bukan kelipatan 3.

Base64 = encode(input bytes) → 6-bit groups → A-Za-z0-9+/ alphabet

lightbulb Variables Explained

  • input bytes Bita terenkode UTF-8 dari teks masukan
  • 6-bit groups Masukan dibagi menjadi potongan 6-bit (alih-alih bita 8-bit)
  • A-Za-z0-9+/ 64 karakter ASCII yang dapat dicetak yang digunakan dalam alfabet pengkodean
  • = (padding) Karakter padding yang ditambahkan untuk membuat panjang keluaran menjadi kelipatan 4

tips_and_updates Pro Tips

1

Hasil Base64 selalu ~33% lebih besar dari masukan

2

Base64 yang aman untuk URL menggantikan + dengan - dan / dengan _ (berguna untuk URL dan nama file)

3

Base64 adalah pengodean, BUKAN enkripsi — siapa pun dapat mendekodenya, jadi jangan pernah menggunakannya untuk keamanan

4

Gunakan Base64 untuk menyematkan gambar kecil di HTML/CSS melalui URI data

5

JSON Web Token (JWT) menggunakan pengodean Base64 yang aman untuk URL untuk header dan payload

6

Padding = di akhir dapat dihapus dengan aman untuk Base64 yang aman untuk URL

7

Base64 menangani data biner — inilah cara lampiran email ditransmisikan

Penerjemah dan pembalik Base64 gratis kami mengubah teks ke Base64 dan sebaliknya secara instan. Mendukung Base64 standar dan aman untuk URL, karakter UTF-8, dan teks besar. Semua pemrosesan terjadi di peramban Anda — data Anda tetap pribadi.

Pemberi Kode Base64 - Teks ke Base64

Ubah teks apa pun ke pengkodean Base64 secara instan. Pemberi kode kami menangani karakter UTF-8, string JSON, HTML, dan masukan teks apa pun.

Salin keluaran Base64 untuk digunakan dalam:

  • API
  • URI data
  • pengkodean email
  • file konfigurasi

Penerjemah Base64 - Base64 ke Teks

Dekode string Base64 apa pun kembali ke teks yang dapat dibaca. Tempel konten ber-Base64 dan lihat teks aslinya secara instan.

Menangani:

  • Base64 standar
  • Base64 aman untuk URL
  • Base64 dengan atau tanpa karakter padding

Bagaimana Cara Kerja Pengkodean Base64?

Pengkodean Base64 bekerja dengan mengubah data biner menjadi sekumpulan 64 karakter ASCII yang dapat dicetak, seperti yang ditentukan dalam RFC 4648 dari IETF.

Algoritma ini mengambil bita masukan dan mengelompokkannya kembali dari bita 8-bit menjadi potongan 6-bit, karena 2 pangkat 6 sama persis dengan 64 nilai yang mungkin. Setiap kelompok 6-bit dipetakan ke satu karakter dalam alfabet A-Z, a-z, 0-9, plus, dan garis miring.

Karena setiap 3 bita masukan (24 bit) menjadi 4 karakter keluaran, teks terenkode kira-kira 33 persen lebih besar dari aslinya. Jika panjang masukan bukan kelipatan 3, satu atau dua tanda sama dengan akan ditambahkan sebagai padding, sesuai spesifikasi RFC 4648.

Apakah Base64 Merupakan Enkripsi atau Pengkodean?

Base64 adalah pengkodean, bukan enkripsi, dan tidak memberikan keamanan atau kerahasiaan sama sekali. Siapa pun dapat mendekode string Base64 secara instan karena tidak ada kunci rahasia yang terlibat, dan pemetaan terbalik didokumentasikan secara publik di RFC 4648.

OWASP secara eksplisit memperingatkan bahwa Base64 bukanlah pengganti kriptografi dan tidak boleh digunakan untuk melindungi kata sandi, token, atau data pribadi. Satu-satunya tujuannya adalah pengangkutan data biner yang aman melalui saluran khusus teks seperti email, URL, and JSON.

Untuk kerahasiaan yang sebenarnya, gunakan enkripsi standar seperti AES-256 seperti yang direkomendasikan oleh NIST, dan untuk integritas gunakan hashing seperti SHA-256. Anggap setiap string Base64 dalam log Anda sebagai teks biasa yang dapat dibaca sepenuhnya.

Apa Itu Pengkodean Base64 yang Aman untuk URL?

Base64 yang aman untuk URL adalah varian yang ditentukan dalam Bagian 5 RFC 4648 yang mengganti karakter plus dengan tanda hubung dan karakter garis miring dengan garis bawah.

Penggantian ini penting karena plus dan garis miring memiliki arti khusus dalam URL dan jalur file, tempat karakter tersebut dapat disalahartikan atau memerlukan pengkodean persentase. Alfabet yang aman untuk URL memungkinkan nilai terenkode berjalan di dalam string kueri, segmen jalur, dan nama file tanpa kerusakan.

Tanda sama dengan padding sering kali diabaikan dalam konteks ini, karena dekoder dapat menyimpulkan panjang aslinya. JSON Web Tokens, yang dijelaskan dalam RFC 7519, mengandalkan pengkodean base64url ini untuk segmen tajuk dan muatannya, itulah sebabnya string JWT tidak pernah berisi karakter plus atau garis miring.

Mengapa Base64 Meningkatkan Ukuran Berkas Sebesar 33 Persen?

Base64 meningkatkan ukuran data sekitar 33 persen karena merepresentasikan setiap 3 byte input menggunakan 4 karakter output.

Tiga byte berisi 24 bit, dan Base64 membagi 24 bit tersebut menjadi empat kelompok 6-bit, sehingga rasio karakter 4-ke-3 menambahkan sepertiga pada panjangnya, seperti yang ditentukan dalam RFC 4648. Padding menambahkan hingga dua karakter lagi pada blok terakhir.

Kelebihan beban (overhead) ini adalah kompromi yang disengaja demi kompatibilitas ASCII: data biner yang seharusnya merusak email atau JSON menjadi sepenuhnya aman untuk teks. Menurut MDN Web Docs, inilah sebabnya mengapa menyematkan gambar sebagai URI data Base64 membuat berkas HTML dan CSS menjadi jauh lebih besar daripada menautkan berkas biner asli secara langsung.

Cara Mengonversi Berkas dan Gambar ke Base64

Untuk mengonversi berkas atau gambar ke Base64, byte mentah dibaca dan diproses melalui algoritma standar RFC 4648, menghasilkan string teks yang dapat Anda sematkan langsung ke dalam kode.

Penggunaan yang umum adalah skema URI data yang didokumentasikan oleh MDN Web Docs, di mana sebuah gambar menjadi nilai src yang mandiri seperti data:image/png;base64 diikuti oleh byte yang telah dienkode. Ini menghilangkan permintaan HTTP terpisah, yang dapat mempercepat pemuatan ikon kecil.

Namun, karena Base64 menambah ukuran sebesar 33 persen dan tidak dapat di-cache secara terpisah, cara ini paling baik dicadangkan untuk aset yang sangat ukuran kecil. Gambar yang lebih besar, fon, dan PDF biasanya disajikan sebagai berkas biner biasa daripada disematkan sebagai Base64.

Bagaimana Base64 Menangani Karakter UTF-8 dan Unicode?

Base64 menangani Unicode dengan terlebih dahulu mengubah teks menjadi byte UTF-8, kemudian mengodekan byte tersebut dengan alfabet standar Base64. Base64 sendiri hanya beroperasi pada byte mentah, sehingga langkah pengodean karakter terjadi sebelum pengodean dan setelah dekode.

UTF-8, yang didefinisikan dalam RFC 3629 dan dikelola bersama Standar Unicode dari Konsorsium Unicode, merepresentasikan emoji, ideograf CJK, dan huruf beraksen sebagai urutan multi-byte yang kemudian dipertahankan persis oleh Base64. Proses dua langkah inilah yang membuat alat kami dengan benar memproses kembali karakter seperti simbol euro atau emoji.

Di JavaScript, MDN Web Docs mencatat bahwa fungsi lama btoa hanya menerima Latin-1, sehingga kode modern mengodekan ke byte UTF-8 dengan TextEncoder sebelum memanggil btoa.

Untuk Apa Base64 Digunakan dalam Aplikasi Nyata?

Base64 digunakan di mana pun data biner harus dikirimkan melalui sistem yang hanya menangani teks.

  • Lampiran email dienkode dalam Base64 di bawah standar MIME yang didefinisikan dalam RFC 2045, yang merupakan cara gambar dan dokumen bertahan dalam pengiriman surat teks biasa.
  • Halaman web menyematkan gambar kecil dan fon sebagai URI data Base64, seperti yang didokumentasikan oleh MDN Web Docs.
  • JSON Web Token per RFC 7519 mengodekan klaim mereka sebagai string base64url, dan Otentikasi Dasar HTTP, yang dijelaskan dalam RFC 7617, mengodekan Base64 pada pasangan nama pengguna dan kata sandi bertitik dua.
  • Base64 juga muncul dalam payload API, sertifikat TLS dalam format PEM, dan berkas konfigurasi.

Dalam setiap kasus, tujuannya adalah pengiriman yang aman dan tanpa kehilangan (lossless) alih-alih kompresi atau keamanan.

Kesalahan Umum dalam Pengodean dan Pendekodean Base64

Kesalahan Base64 yang paling umum adalah memperlakukannya sebagai tindakan pengamanan, padahal RFC 4648 mendefinisikan transformasi yang sepenuhnya dapat dibalik dan tanpa kunci yang dapat didekode oleh siapa saja.

  • Kesalahan lain yang sering terjadi adalah mencampur alfabet standar dan alfabet yang aman untuk URL, yang menyebabkan kegagalan dekode saat karakter plus atau garis miring ditukar dengan tanda hubung dan garis bawah.
  • Padding tanda sama dengan yang hilang atau salah juga merusak dekoder yang ketat, meskipun banyak dekoder, termasuk implementasi MDN Web Docs, menoleransi tidak adanya padding.
  • Pengembang sering lupa langkah UTF-8 dan mendapatkan teks yang rusak untuk input non-ASCII.
  • Terakhir, mengodekan data yang sudah berformat Base64 secara tidak sengaja akan menggandakan beban.

Memverifikasi varian yang tepat, aturan padding, dan kumpulan karakter terhadap spesifikasi RFC 4648 mencegah hampir semua kegagalan dekode ini.

Base64 vs Base32 vs Pengodean Heksadesimal

Base64, Base32, dan heksadesimal semuanya adalah pengodean biner-ke-teks yang didefinisikan bersama dalam RFC 4648, tetapi ketiganya memperdagangkan kepadatan demi keterbacaan secara berbeda.

  • Heksadesimal menggunakan 16 karakter dan menggandakan ukuran data, menjadikannya yang paling mudah dibaca manusia dan paling umum dalam hash dan kode warna.
  • Base32 menggunakan 32 karakter yang tidak membedakan huruf besar dan kecil, memperbesar data sekitar 60 persen, dan menghindari simbol yang ambigu, yang cocok untuk sistem yang tidak sensitif huruf besar-kecil dan rahasia TOTP.
  • Base64 adalah yang paling ringkas di antara ketiganya dengan overhead sekitar 33 persen, menggunakan 64 karakter.

Pilih heksadesimal untuk debugging dan pengenal pendek, Base32 saat sensitivitas huruf menjadi masalah, dan Base64 saat kekompakan paling penting, sebagaimana dijelaskan dengan jelas oleh panduan IETF dalam RFC 4648.

Frequently Asked Questions

sell

Tags