Cách sử dụng
- Chọn Mã hóa hoặc Giải mã.
- Để mã hóa, nhập văn bản hoặc chuyển sang Tệp và chọn tệp bất kỳ — ảnh, PDF hay phông chữ.
- Chọn các tùy chọn như ký tự an toàn cho URL, đệm hoặc xuất dạng data URL.
- Sao chép kết quả. Khi giải mã dữ liệu nhị phân như ảnh, hãy tải xuống dưới dạng tệp.
Giải thích tùy chọn
- An toàn cho URL
- Thay + và / bằng - và _ (RFC 4648 §5), để kết quả dùng được trong URL và tên tệp. JWT dùng dạng này và không có đệm.
- Đệm (=)
- Thêm dấu = ở cuối để độ dài là bội số của 4. Một số hệ thống bắt buộc có đệm, số khác (như JWT) thì bỏ. Bộ giải mã chấp nhận cả hai.
- Ngắt dòng mỗi 76 ký tự
- Chia kết quả thành các dòng 76 ký tự, định dạng bắt buộc trong email (MIME) và tệp PEM.
- Data URL
- Tạo ra data:image/png;base64,… có thể dán thẳng vào HTML hoặc CSS làm nguồn ảnh.
Ví dụ
| Đầu vào | Base64 |
|---|---|
hello |
aGVsbG8= |
hello (an toàn cho URL, không đệm) |
aGVsbG8 |
你好 |
5L2g5aW9 |
byte FB FF BF |
+/+/ (chuẩn) hoặc -_-_ (an toàn cho URL) |
Giải mã phần payload của JWT
JWT gồm ba phần ngăn cách bởi dấu chấm. Phần giữa là Base64 an toàn cho URL không có đệm — dán phần này vào Giải mã để đọc các claim. Lưu ý chữ ký không được kiểm tra ở đây, nên đừng tin một token chỉ vì nó giải mã được.
Câu hỏi thường gặp
Base64 có phải là mã hóa bảo mật không?
Không. Base64 chỉ là cách biểu diễn dữ liệu mà ai cũng đảo ngược được — nó thể hiện các byte bằng 64 ký tự in được. Đừng bao giờ dùng nó để giấu mật khẩu hay thông tin bí mật.
Vì sao chuỗi Base64 dài hơn dữ liệu gốc?
Cứ 3 byte trở thành 4 ký tự, nên Base64 lớn hơn khoảng 33%, cộng thêm ký tự xuống dòng nếu bật ngắt dòng.
Vì sao giải mã ra chữ lỗi hoặc báo lỗi dữ liệu nhị phân?
Chuỗi Base64 chứa các byte không phải văn bản UTF-8 — thường là ảnh, tệp zip hoặc dữ liệu đã mã hóa. Hãy dùng “Tải tệp đã giải mã”; công cụ nhận diện các loại ảnh phổ biến và đặt tên tệp phù hợp.
Làm sao nhúng ảnh vào CSS hoặc HTML?
Chuyển sang Tệp, đánh dấu “Xuất dạng data URL”, chọn ảnh rồi dán kết quả vào src="…" hoặc url(…). Cách này phù hợp nhất với biểu tượng nhỏ; ảnh lớn sẽ làm trang chậm hơn.
Có xử lý được tiếng Việt, tiếng Trung, emoji và các ngôn ngữ khác không?
Có. Văn bản được chuyển thành byte UTF-8 trước khi mã hóa, giống như btoa(unescape(encodeURIComponent(…))) hoặc base64.b64encode(s.encode()) của Python.
Quyền riêng tư
Công cụ này chạy hoàn toàn trong trình duyệt của bạn. Tệp và văn bản được xử lý ngay trên thiết bị và không bao giờ được tải lên máy chủ của chúng tôi.