Base64 là gì? Giải thích từ cơ chế hoạt động đến cách sử dụng
Base64 là mã hóa (encoding), không phải là mật mã hóa (encryption). Đây là cơ chế để biến dữ liệu nhị phân thành văn bản, được dùng trong việc nhúng ảnh, xác thực Basic Auth và trong các API.
Base64 là gì?
Base64 là một phương pháp mã hóa dùng để xử lý dữ liệu nhị phân dưới dạng văn bản. Vì hình ảnh hoặc các tệp nhị phân không thể gửi trực tiếp dưới dạng văn bản, nên chúng được biểu diễn lại bằng 64 loại ký tự ASCII (A-Z, a-z, 0-9, +, /). Nói một cách đơn giản, đây là cơ chế chuyển đổi 3 byte (24 bit) dữ liệu thành 4 ký tự.
“Tại sao lại là 64 loại?” — Vì 2 lũy thừa 6 bằng 64, nên thiết kế được tính toán để chia dữ liệu thành các đoạn 6 bit và gán cho một ký tự.
Các công dụng chính
| Công dụng | Mô tả |
|---|---|
| **Data URI** | Khi muốn nhúng trực tiếp hình ảnh vào HTML hoặc CSS. Tiện lợi khi muốn giảm 1 lần yêu cầu HTTP cho các icon nhỏ. |
| **Basic Auth** | Mã hóa tên người dùng và mật khẩu dưới dạng 'username:password' và đưa vào tiêu đề Authorization. |
| **API** | Vì JSON là định dạng văn bản, nên khi gửi dữ liệu nhị phân như hình ảnh, chúng ta cần chuyển đổi sang Base64 để đưa vào payload. |
| **Email** | Cũng được sử dụng khi mã hóa các tệp đính kèm dưới định dạng MIME. |
Điều quan trọng nhất: Không phải là mật mã hóa
Base64 là mã hóa (encoding), không phải là mật mã hóa (encryption). Bất kỳ ai cũng có thể giải mã được, vì vậy không thể dùng nó để bảo vệ thông tin bí mật. Nếu bạn định “giấu” mật khẩu hoặc API key bằng Base64, thực tế chúng có thể bị đưa về dạng gốc rất dễ dàng. Để bảo vệ thông tin nhạy cảm, hãy sử dụng các phương pháp mật mã hóa thực thụ (ví dụ: AES).
Mẹo sử dụng
Khi sử dụng công cụ Base64, bạn chỉ cần nhập văn bản và nhấn “Mã hóa” hoặc “Giải mã”. Công cụ cũng hỗ trợ tiếng Việt (UTF-8) và hoạt động hoàn toàn trong trình duyệt nên nội dung bạn nhập sẽ không bị gửi lên máy chủ.