Mã hóa Base64 dành cho Lập trình viên
Bạn sử dụng Base64 trong CSS và các mã thông báo JWT. Bạn cần biết cách nó hoạt động.
Base64 chuyển đổi dữ liệu nhị phân thành một chuỗi văn bản. Nó sử dụng một bộ gồm 64 ký tự. Bộ này bao gồm A-Z, a-z, 0-9, +, và /. Dấu = được dùng để xử lý phần đệm (padding).
Base64 là mã hóa (encoding). Nó không phải là mã hóa bảo mật (encryption). Đừng bao giờ sử dụng nó cho mục đích bảo mật.
Cách thức hoạt động:
- Chia dữ liệu nhị phân thành các nhóm 3 byte.
- Chia các nhóm này thành bốn phần, mỗi phần 6 bit.
- Ánh xạ mỗi phần vào một ký tự.
Các ứng dụng phổ biến:
- Tệp đính kèm email.
- Hình ảnh trong HTML và CSS.
- Mã thông báo JWT.
- Phản hồi API.
- Header Basic Auth.
Ví dụ mã nguồn:
Sử dụng btoa để mã hóa chuỗi.
Sử dụng atob để giải mã chuỗi.
Trong Node.js, sử dụng data.toString('base64').
Base64url là một phiên bản đặc biệt dành cho URL. Nó thay thế dấu + bằng - và dấu / bằng _. Nó loại bỏ phần đệm. Hãy sử dụng phiên bản này cho JWT.
Hãy ghi nhớ những điều sau:
- Kết quả đầu ra lớn hơn 33% so với dữ liệu gốc.
- Chỉ sử dụng cho các kênh chỉ chứa văn bản.
- Sử dụng Base64url cho các URL.
Nguồn: https://dev.to/moksh/base64-encoding-explained-a-practical-guide-for-developers-49hh