Giới thiệu Mã Hóa & Giải Mã Base64 (Encode / Decode Base64)
Base64 là gì? Ứng dụng thực tế của Base64 trong lập trình
Base64 là một thuật toán mã hóa chuyển đổi dữ liệu nhị phân (Binary Data) thành một chuỗi văn bản (String) chỉ bao gồm 64 ký tự ASCII an toàn (chữ hoa, chữ thường, số, dấu + và /).
Mục đích chính của Base64 là để truyền tải dữ liệu qua các giao thức chỉ hỗ trợ văn bản (như HTTP, SMTP) mà không làm hỏng dữ liệu gốc.
Trong thực tế, Base64 thường được dùng để:
- Nhúng hình ảnh trực tiếp vào file CSS/HTML (Base64 Image).
- Gửi các file đính kèm qua Email.
- Truyền tải chứng chỉ số, token (JWT).
Phân biệt giữa Encoding (Mã hóa định dạng) và Encryption (Mã hóa bảo mật)
Hãy nhớ kỹ: Base64 là Encoding (Mã hóa định dạng), không phải là Encryption (Mã hóa bảo mật). Bất kỳ ai có chuỗi Base64 đều có thể dễ dàng đảo ngược (Decode) để xem nội dung gốc mà không cần bất kỳ mật khẩu hay chìa khóa (Key) nào. Vì vậy, đừng bao giờ dùng Base64 để che giấu mật khẩu hay dữ liệu nhạy cảm.
Base64 làm tăng dung lượng dữ liệu lên bao nhiêu phần trăm?
Khi chuyển đổi từ dữ liệu gốc sang Base64, mỗi 3 bytes dữ liệu sẽ được chia thành 4 ký tự 6-bit. Do đó, chuỗi Base64 đầu ra sẽ luôn nặng hơn dữ liệu gốc chính xác là 33%. Nếu bạn mã hóa một file nặng 3MB, chuỗi Base64 thu được sẽ nặng khoảng 4MB. Do vậy, chỉ nên dùng Base64 cho các dữ liệu hoặc hình ảnh có dung lượng nhỏ.