"Base64 là gì? Khi nào nên dùng Base64?"

web development tutorial vietnamese base64 encoding

Base64 là gì? Khi nào nên dùng Base64?

Base64 là một trong những kỹ thuật mã hóa phổ biến nhất trong lập trình web. Bài viết này giải thích Base64 một cách dễ hiểu.

Base64 là gì?

Base64 là phương pháp mã hóa để chuyển đổi dữ liệu nhị phân (binary) thành chuỗi ký tự ASCII. Tên gọi “Base64” bắt nguồn từ việc sử dụng 64 ký tự để biểu diễn dữ liệu.

64 ký tự nào?

A-Z (26 ký tự)
a-z (26 ký tự)
0-9 (10 ký tự)
+ / (2 ký tự)
= (padding)
Tổng: 64 ký tự

Tại sao lại cần Base64?

1. Dữ liệu nhị phân không an toàn

Một số giao thức (Email, HTTP header) chỉ hỗ trợ văn bản ASCII. Nếu bạn gửi dữ liệu nhị phân trực tiếp, nó có thể bị hỏng.

2. Giải pháp: Mã hóa Base64

Base64 chuyển dữ liệu nhị phân thành chuỗi ký tự ASCII an toàn.

Ví dụ

Ảnh → Data URL

<!-- Thay vì -->
<img src="image.png">

<!-- Bạn có thể nhúng trực tiếp -->
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA...">

Mật khẩu cơ bản (HTTP Basic Auth)

Tên đăng nhập: user
Mật khẩu: pass

Base64 encoding: dXNlcjpwYXNz

Header: Authorization: Basic dXNlcjpwYXNz

Lưu ý quan trọng

  • Không phải mã hóa bảo mật: Base64 dễ decode, không nên dùng để bảo vệ mật khẩu
  • Tăng kích thước: Base64 làm dữ liệu tăng ~33%
  • Chỉ dùng cho dữ liệu nhỏ: Không nhúng file lớn dưới dạng Data URL

Khi nào nên dùng Base64?

✅ Icon nhỏ trong CSS (Sprites) ✅ Ảnh trong email ✅ Token xác thực ✅ Data URL để giảm HTTP request

❌ File lớn (>100KB) ❌ Dữ liệu nhạy cảm (dùng mã hóa thực) ❌ Khi tốc độ quan trọng