Pengkodean Base64

Dengan alat Pengkodean Base64, Anda dapat mengenkripsi teks yang Anda masukkan dengan metode Base64. Jika mau, Anda dapat mendekode kode Base64 terenkripsi dengan alat Decode Base64.

Apa itu Pengkodean Base64?

Base64 Encoding adalah skema pengkodean yang memungkinkan data biner untuk diangkut pada lingkungan yang hanya menggunakan beberapa pengkodean karakter terbatas (lingkungan di mana tidak semua kode karakter dapat digunakan, seperti xml, html, script, aplikasi pesan instan). Jumlah karakter dalam skema ini adalah 64, dan angka 64 dalam kata Base64 berasal dari sini.

Mengapa Menggunakan Pengkodean Base64?

Kebutuhan pengkodean Base64 berasal dari masalah yang muncul ketika media ditransmisikan dalam format biner mentah ke sistem berbasis teks. Karena sistem berbasis teks (seperti email) menafsirkan data biner sebagai berbagai karakter, termasuk karakter perintah khusus, sebagian besar data biner yang dikirimkan ke media transfer disalahartikan oleh sistem ini dan hilang atau rusak dalam transmisi. proses.

Salah satu metode penyandian data biner semacam itu dengan cara yang menghindari masalah transmisi seperti itu adalah dengan mengirimkannya sebagai teks ASCII biasa dalam format yang disandikan Base64. Ini adalah salah satu teknik yang digunakan oleh standar MIME untuk mengirim data selain teks biasa. Banyak bahasa pemrograman, seperti PHP dan Javascript, menyertakan fungsi pengodean dan penguraian kode Base64 untuk menafsirkan data yang dikirimkan menggunakan pengkodean Base64.

Logika Pengkodean Base64

Dalam pengkodean Base64, 3 * 8 bit = 24 bit data yang terdiri dari 3 byte dibagi menjadi 4 kelompok 6 bit. Karakter yang sesuai dengan nilai desimal antara [0-64] dari 4 grup 6-bit ini dicocokkan dari tabel Base64 untuk dikodekan. Jumlah karakter yang diperoleh sebagai hasil encoding Base64 harus kelipatan 4. Data yang disandikan yang bukan kelipatan 4 bukanlah data Base64 yang valid. Saat pengkodean dengan algoritma Base64, saat pengkodean selesai, jika panjang data bukan kelipatan 4, karakter "=" (sama) ditambahkan ke akhir pengkodean hingga kelipatan 4. Misalnya, jika kita memiliki 10 karakter data yang disandikan Base64 sebagai hasil dari encoding, dua "==" harus ditambahkan di akhir.

Contoh Pengkodean Base64

Misalnya, ambil tiga angka ASCII 155, 162 dan 233. Ketiga angka ini membentuk aliran biner 100110111010001011101001. File biner seperti gambar berisi aliran biner yang berfungsi untuk puluhan atau ratusan ribu nol dan satu. Encoder Base64 dimulai dengan membagi aliran biner menjadi kelompok enam karakter: 100110 111010 001011 101001. Masing-masing pengelompokan ini diterjemahkan ke dalam angka 38, 58, 11, dan 41. Aliran biner enam karakter dikonversi antara biner (atau dasar). 2) ke karakter desimal (basis-10) dengan mengkuadratkan setiap nilai yang diwakili oleh 1 dalam larik biner dengan kuadrat posisi. Mulai dari kanan dan bergerak ke kiri dan mulai dari nol, nilai-nilai dalam aliran biner mewakili 2^0, lalu 2^1, lalu 2^2, lalu 2^3, lalu 2^4, lalu 2^ 5.

Berikut adalah cara lain untuk melihatnya. Mulai dari kiri, setiap posisi bernilai 1, 2, 4, 8, 16 dan 32. Jika slot memiliki angka biner 1, Anda menambahkan nilai itu; jika slot memiliki 0, Anda hilang. Array biner 100110 ternyata 38: 0 * 2 ^ 01 + 1 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 = 0 + 2 desimal + 4 + 0 + 0 + 32. Pengkodean Base64 mengambil string biner ini dan membaginya menjadi nilai 6-bit 38, 58, 11 dan 41. Akhirnya, angka-angka ini dikonversi ke karakter ASCII menggunakan tabel pengkodean Base64.