Mã hóa và giải mã Base64
Base64 là phương pháp mã hóa dữ liệu nhị phân thành chuỗi ASCII. Thường dùng để:
Công cụ Base64 Encoder/Decoder của Tấn Phát Digital giúp mã hóa và giải mã Base64 nhanh chóng và chính xác. Base64 là phương pháp encoding phổ biến trong lập trình web, được sử dụng để nhúng hình ảnh vào HTML/CSS (Data URI), truyền dữ liệu qua API, mã hóa attachments trong email, và lưu trữ binary data trong JSON/XML. Công cụ hỗ trợ đầy đủ Unicode và tiếng Việt nhờ UTF-8 encoding. Tính năng swap cho phép hoán đổi input/output nhanh chóng để encode rồi decode kiểm tra. Xử lý hoàn toàn offline trên trình duyệt, đảm bảo bảo mật tuyệt đối cho dữ liệu nhạy cảm. Không giới hạn độ dài văn bản, hoàn toàn miễn phí.
Base64 là phương pháp encoding chuyển đổi dữ liệu binary thành chuỗi ASCII an toàn, sử dụng 64 ký tự: A-Z, a-z, 0-9, +, /. Base64 được sử dụng rộng rãi trong: Data URIs để nhúng images/fonts trực tiếp vào HTML/CSS, giảm HTTP requests. Email attachments (MIME encoding). API authentication với Basic Auth header. JWT tokens (JSON Web Tokens). Lưu trữ binary data trong JSON, XML, hoặc databases chỉ hỗ trợ text. Truyền data qua URLs khi cần tránh special characters. Mặc dù Base64 làm tăng kích thước ~33%, nó đảm bảo data integrity khi truyền qua các protocols chỉ hỗ trợ ASCII.
Base64 encoding process: 1) Lấy input data (text hoặc binary). 2) Convert sang binary representation. 3) Chia thành groups 3 bytes (24 bits). 4) Chia mỗi group thành 4 groups 6 bits. 5) Map mỗi 6-bit value (0-63) sang 1 trong 64 characters: A-Z (0-25), a-z (26-51), 0-9 (52-61), + (62), / (63). 6) Nếu input không chia hết cho 3 bytes, thêm padding '=' ở cuối. Ví dụ chi tiết: 'Hi' = 01001000 01101001 (2 bytes, 16 bits). Pad thêm 0s để được 18 bits (chia hết cho 6): 010010 000110 100100. Map: 18 = S, 6 = G, 36 = k. Thêm 1 padding vì thiếu 1 byte: 'SGk='. Vì 3 bytes input → 4 characters output, Base64 tăng kích thước ~33%. Đây là trade-off cần thiết để đảm bảo output chỉ chứa printable ASCII characters, safe cho text-based protocols.
Data URI format: data:[mediatype][;base64],data. Ví dụ: data:image/png;base64,iVBORw0KGgo... hoặc data:text/html,<h1>Hello</h1>. Ưu điểm: Giảm HTTP requests (critical cho performance), images load cùng HTML (no separate request), không cần external files (self-contained), works offline. Nhược điểm: Tăng kích thước HTML/CSS ~33%, không cache riêng được (mỗi page load = re-download), không phù hợp cho images lớn, harder to maintain. Best practices: Dùng cho small icons và logos (<5KB), critical above-the-fold images cần load ngay, inline SVGs (không cần base64), fonts nhỏ. Không dùng cho: Images >10KB, images dùng nhiều nơi (cần caching), large assets. Performance tip: Inline critical CSS với small background images, lazy load larger images với regular URLs.
HTTP Basic Authentication: Header format 'Authorization: Basic base64(username:password)'. Ví dụ: user:pass → dXNlcjpwYXNz. QUAN TRỌNG: Base64 KHÔNG phải encryption, chỉ là encoding - bất kỳ ai cũng có thể decode trong 1 giây. Luôn dùng HTTPS khi truyền credentials để encrypt transport layer. JWT (JSON Web Tokens): Gồm 3 phần separated by dots: header.payload.signature. Mỗi phần là base64url encoded JSON. Base64url khác Base64 standard: dùng '-' thay '+', '_' thay '/', không có padding '='. Điều này làm JWT safe cho URLs. Payload chứa claims (user info, expiration), có thể decode và đọc bởi anyone - không store sensitive data trong payload. Signature verify integrity, không encrypt. OAuth tokens, API keys thường base64 encoded cho transport. Để bảo mật thực sự, cần encryption algorithms như AES-256, RSA - encoding chỉ là format conversion, không provide security.
Standard Base64 (RFC 4648): Characters A-Za-z0-9+/, padding =. Dùng cho: MIME email attachments, PEM certificates, general encoding. Base64url (RFC 4648 §5): Characters A-Za-z0-9-_, no padding. Dùng cho: URLs, filenames, JWT tokens - vì +/= có special meaning trong URLs. MIME Base64: Standard Base64 với line breaks mỗi 76 characters. Dùng cho: Email attachments theo MIME standard. Filename-safe Base64: Tương tự base64url, safe cho filenames trên mọi OS. Radix-64 (OpenPGP): Standard Base64 với CRC checksum. Dùng cho: PGP/GPG armored output. Khi implement: Hầu hết languages có built-in base64 functions. JavaScript: btoa()/atob() cho standard, cần manual conversion cho base64url. Python: base64.b64encode(), base64.urlsafe_b64encode(). Node.js: Buffer.from().toString('base64').
KHÔNG. Base64 chỉ là encoding (chuyển đổi format), không phải encryption (mã hóa bảo mật). Bất kỳ ai cũng có thể decode Base64 dễ dàng. Không bao giờ dùng Base64 để 'bảo vệ' passwords, API keys, hoặc thông tin nhạy cảm. Để bảo mật, cần dùng encryption algorithms như AES hoặc RSA.
Base64 chuyển mỗi 3 bytes (24 bits) thành 4 characters (mỗi char đại diện 6 bits). Tỷ lệ 4/3 = 1.33, tức tăng khoảng 33%. Thêm padding '=' nếu input không chia hết cho 3. Đây là trade-off để đảm bảo output chỉ chứa safe ASCII characters.
Có. Công cụ này encode text sang UTF-8 trước khi Base64 encode, nên hỗ trợ đầy đủ tiếng Việt và mọi Unicode characters. Khi decode, UTF-8 được restore về text gốc. Lưu ý: một số tools khác có thể không hỗ trợ UTF-8 properly.
Data URI cho phép nhúng data trực tiếp vào HTML/CSS thay vì link đến file. Format: data:image/png;base64,... Nên dùng cho: small icons (<5KB), critical images cần load ngay, single-use images. Không nên dùng cho: large images, images dùng nhiều nơi (cần caching).
Base64URL là variant của Base64 an toàn cho URLs: dùng '-' thay '+', '_' thay '/', và không có padding '='. JWT tokens dùng Base64URL. Standard Base64 có thể gây issues trong URLs vì +, /, = là special characters.
Công cụ này không có giới hạn cứng, nhưng với text rất dài (hàng MB), browser có thể chậm. Thực tế, Base64 thường dùng cho data nhỏ-trung bình. Với files lớn, nên dùng proper file upload thay vì Base64 encoding.
Chúng tôi không chỉ thiết kế website, mà còn giúp doanh nghiệp xây dựng thương hiệu số mạnh mẽ. Cung cấp dịch vụ thiết kế website trọn gói từ thiết kế đến tối ưu SEO. Hãy liên hệ ngay với Tấn Phát Digital để cùng tạo nên những giải pháp công nghệ đột phá, hiệu quả và bền vững cho doanh nghiệp của bạn tại Hồ Chí Minh.
Tạo file .env và .env.example cho dự án.
Tạo .gitignore cho Node.js, Python, Java.
Tạo mock JSON data cho API testing.
Format và phân tích API response.
Test REST API: GET, POST, PUT, DELETE.
Chuyển đổi Binary, Hex, Base32.
Chuyển đổi Decimal, Binary, Hex.
Tạo CSS box-shadow trực quan.
Tính quyền file Linux.
Kiểm tra WCAG accessibility.
Tạo bảng màu ngẫu nhiên.
Tạo bảng màu hài hòa.