Penjelasan Pengekodan Base64

Base64 ada di mana-mana. Anda melihatnya dalam CSS dan token JWT. Ramai pembangun menggunakannya tanpa mengetahui cara ia berfungsi.

Base64 menukarkan data binari kepada rentetan teks. Ia menggunakan 64 aksara. Ini termasuk A-Z, a-z, 0-9, tanda tambah (+), dan palang (/). Ia menggunakan tanda sama dengan (=) untuk pengisian (padding).

Base64 bukanlah penyulitan (encryption). Ia menjadikan data binari selamat untuk saluran teks.

Cara ia berfungsi:

  • Pecahkan data binari kepada kumpulan 3-bait.
  • Bahagikan ini kepada empat cebisan 6-bit.
  • Petakan setiap cebisan kepada aksara Base64.

Contoh: Perkataan Man menjadi TWFu.

Anda menggunakan Base64 untuk:

  • Lampiran e-mel.
  • Menyemat imej dalam HTML.
  • Token JWT.
  • Menghantar data binari melalui JSON.
  • Pengesahan HTTP asas.

Javascript menyokong ini secara asli. Gunakan btoa untuk mengekod. Gunakan atob untuk menyahkod.

Node.js menggunakan data.toString('base64') untuk fail.

Sesetengah sistem menggunakan Base64url. Versi ini selamat untuk URL. Ia menggantikan tanda tambah dengan tanda tolak dan palang dengan garis bawah (underscore). Ia membuang pengisian (padding).

Ingat perkara-perkara ini:

  • Base64 adalah pengekodan. Ia bukan keselamatan.
  • Hasilnya adalah 33 peratus lebih besar.
  • Gunakan ia untuk menghantar data binari melalui saluran teks.
  • Gunakan Base64url untuk URL.

Sumber: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh