Hướng dẫn

Mã hóa Base64: Hướng dẫn đầy đủ

Mã hóa Base64 là một kỹ thuật cơ bản trong máy tính chuyển đổi dữ liệu nhị phân thành văn bản ASCII. Mặc dù khái niệm có vẻ đơn giản, việc hiểu khi nào và cách sử dụng Base64 đúng cách là rất quan trọng đối với các lập trình viên web, chuyên gia bảo mật và bất kỳ ai làm việc với truyền dữ liệu.

Base64 là gì?

Base64 là một lược đồ mã hóa nhị phân sang văn bản đại diện cho dữ liệu nhị phân bằng cách sử dụng một tập hợp gồm 64 ký tự ASCII có thể in được. Tên xuất phát từ 64 ký tự được sử dụng: A-Z (26), a-z (26), 0-9 (10), và + và / (với = cho padding). Mục đích chính của Base64 là mã hóa dữ liệu nhị phân để truyền an toàn qua các hệ thống dựa trên văn bản. Email, URL và JSON được thiết kế cho văn bản và có thể làm hỏng dữ liệu nhị phân. Base64 chuyển đổi nhị phân thành văn bản an toàn. Base64 lấy mỗi 3 byte (24 bit) đầu vào và chuyển đổi chúng thành 4 ký tự Base64 (6 bit mỗi ký tự). Điều này có nghĩa là tăng kích thước khoảng 33%. Padding với = xử lý các đầu vào không phải bội số của 3. Base64 không phải là nén—nó làm tăng kích thước. Nó không phải là mã hóa—bất kỳ ai cũng có thể giải mã nó ngay lập tức. Nó chỉ đơn thuần là một chuyển đổi định dạng để đảm bảo an toàn ký tự.

Các trường hợp sử dụng phổ biến

URI dữ liệu nhúng hình ảnh trực tiếp trong HTML/CSS: <img src="data:image/png;base64,...">. Điều này giảm các yêu cầu HTTP cho hình ảnh nhỏ nhưng làm tăng kích thước. JSON API sử dụng Base64 cho dữ liệu nhị phân như hình ảnh hoặc file được tải lên. Tệp đính kèm email sử dụng Base64 (MIME) cho các file nhị phân. Xác thực cơ bản HTTP mã hóa thông tin đăng nhập trong Base64. Token JWT sử dụng mã hóa Base64URL cho header, payload và chữ ký. localStorage của trình duyệt lưu trữ dữ liệu nhị phân được mã hóa Base64 vì nó chỉ hỗ trợ chuỗi. Base64 thích hợp cho nhúng, truyền và tuần tự hóa—không phải cho bảo mật.

Chi phí Base64

Base64 chuyển đổi mỗi 3 byte thành 4 ký tự: tăng kích thước 33,33%. Một file 1 MB trở thành 1,33 MB. Hãy xem xét chi phí này khi chọn sử dụng Base64. Chi phí chấp nhận được: biểu tượng nhỏ dưới 10-20 KB, SVG, tài sản quan trọng, tệp đính kèm email, payload API nơi sự đơn giản quan trọng. Chi phí có vấn đề: hình ảnh lớn, API tần suất cao, thiết bị di động với băng thông hạn chế, lưu trữ quy mô lớn. Nén có thể bù đắp một số chi phí. Cân nhắc bộ nhớ đệm quan trọng—Base64 nội tuyến không thể được lưu trong bộ nhớ đệm riêng biệt.

Thử công cụ

Mã Hóa/Giải Mã Base64

Mã Hóa/Giải Mã Base64

Tìm hiểu thêm

Câu hỏi thường gặp

Mã Hóa/Giải Mã Base64

Câu hỏi thường gặp