ĐÓNG QUẢNG CÁO
Mã hóa/Giải mã Base64
Mã hóa/Giải mã Base64
Hỗ trợ mã hóa và giải mã Base64 dữ liệu văn bản và nhị phân với các tùy chọn định dạng URL-safe và MIME. Hỗ trợ phân tích cú pháp URL dữ liệu, mã hóa từng dòng và nhận dạng định dạng tự động, phù hợp cho gọi API, tệp đính kèm email và nhúng dữ liệu.
🚀 Bắt đầu nhanh
- Nhập văn bản (thuần hoặc chuỗi Base64) vào ô
- Nhấn “Mã hóa” hoặc “Giải mã” để xử lý
- Vùng nhập và kết quả dùng chung một ô; có thể sao chép hoặc xóa chỉ với một cú nhấp
- Để kiểm tra, hãy mã hóa rồi chuyển sang “Giải mã” để thử khứ hồi
📌 Tình huống sử dụng phổ biến
- URL/JWT: nên ưu tiên biến thể URL‑safe (−/_); phần '=' ở cuối có thể được lược bỏ để tránh vấn đề escape
- Email/MIME: khi cần ngắt dòng, hãy dùng quy tắc MIME 76 cột (CRLF); với web thì không cần ngắt dòng. Công cụ cung cấp ngắt dòng 76 cột và chuyển đổi LF/CRLF.
- Văn bản nhiều dòng: bật Mã hóa theo dòng để mã hóa từng dòng độc lập.
- MIME/PEM: bật ngắt dòng 76 cột; bật sử dụng LF khi cần.
- Data URL: khi nhúng, tạo chuỗi data:[mime];base64,…; bộ giải mã sẽ tự động tách phần sau dấu phẩy.
- Kiểm tra khứ hồi: mã hóa rồi ngay lập tức giải mã lại để kiểm tra tính chính xác.
🎛️ Tham số & biến thể mã hóa
- Xuất dạng URL‑safe
- Mã hóa theo từng dòng (mỗi dòng độc lập)
- Ngắt dòng ở 76 cột kiểu MIME (CRLF)
- Dùng LF cho ký tự xuống dòng (\n)
- Tự thêm padding: độ dài được căn cho bội số của 4; độ dài không hợp lệ sẽ được báo lỗi.
- Chấp nhận khoảng trắng: khi giải mã sẽ tự loại bỏ xuống dòng và khoảng trắng.
🧭 Gợi ý sử dụng
- Hãy dùng UTF‑8 nhất quán để tránh lỗi ký tự bị sai mã
- Mặc định là URL‑safe; tắt tùy chọn này nếu bạn cần Base64 chuẩn.
- Khi trao đổi giữa các hệ thống, nên loại bỏ xuống dòng/khoảng trắng; chỉ thêm vào khi hiển thị.
- Base64 làm kích thước tăng khoảng ~33%; tránh dùng trực tiếp cho tệp lớn.
- Base64 chuẩn cho hệ thống cũ: tắt URL‑safe (giữ +/ và =).
- Mã hóa theo dòng sẽ mã hóa lại cả chuỗi Base64 hiện có; nếu chỉ muốn chuyển đổi biến thể, hãy tắt tùy chọn này trước khi mã hóa.
- Ngắt dòng 76 cột chỉ ảnh hưởng cách hiển thị; bộ giải mã sẽ bỏ qua ngắt dòng và khoảng trắng.
⚠️ Giới hạn & khả năng tương thích
- Văn bản quá dài có thể ảnh hưởng hiệu năng; hãy cân nhắc tách nhỏ.
- Dữ liệu nhị phân: giao diện thiên về văn bản; với nhị phân nên sử dụng Data URL hoặc các công cụ dòng lệnh.
- Kích thước tối đa bị giới hạn bởi bộ nhớ trình duyệt.
🔒 Quyền riêng tư & bảo mật
- Toàn bộ xử lý diễn ra trong trình duyệt; dữ liệu của bạn không rời khỏi thiết bị.
- Lưu ý bảo mật: Base64 là mã hóa dạng biểu diễn, không phải mã hóa bảo mật. Với dữ liệu nhạy cảm hãy mã hóa (encryption) trước rồi mới chuyển sang Base64.
❓ Câu hỏi thường gặp
Base64 là gì? Tại sao gọi là “mã hóa” (encode)?
Base64 là một sơ đồ biểu diễn dữ liệu nhị phân bất kỳ bằng các ký tự văn bản có thể in được. Nó xuất hiện đầu tiên trong chuẩn MIME của email (những năm 1990, RFC 1521/2045) và sau đó được chuẩn hóa trong RFC 4648. Mục tiêu không phải là “mã hóa bảo mật” mà là truyền tải byte một cách ổn định qua các kênh thiên về văn bản. Cách hoạt động: cứ mỗi 3 byte (24 bit) được chia thành bốn khối 6 bit và ánh xạ sang 64 ký tự A–Z, a–z, 0–9, +, /. Nếu độ dài nguồn không chia hết cho 3, ký tự “=” được dùng để đệm cho đủ độ dài bội số của 4. Kích thước thường tăng khoảng ~33%. Biến thể & lựa chọn: RFC 4648 định nghĩa biến thể URL‑safe, dùng “-” và “_” thay cho “+” và “/”, và phần “=” ở cuối có thể được lược bỏ. Nên ưu tiên URL‑safe cho URL, Cookie và JWT; dùng Base64 chuẩn (giữ +/ và =) cho các chuỗi công cụ cũ/MIME. Công cụ này mặc định dùng URL‑safe; bộ giải mã chấp nhận cả hai biến thể. Ví dụ: ??? → chuẩn Pz8/, URL‑safe Pz8_; ~~~ → chuẩn fn5+, URL‑safe fn5-. Data URL: khi nhúng, hãy dùng data:[mime];base64,… và chỉ giải mã phần sau dấu phẩy (công cụ này sẽ tự tách). Các mốc (tóm tắt): 1993 RFC 1521 (MIME v1, Ned Freed & Nathaniel Borenstein) → 1996 RFC 2045 (cập nhật MIME, thay thế 1521) → 2003 RFC 3548 (Simon Josefsson, trừu tượng hóa Base16/32/64) → 2006 RFC 4648 (Simon Josefsson, thống nhất và định nghĩa Base64URL, thay thế 3548). Ngoài ra: 1993 RFC 1421 (PEM, J. Linn) dùng Radix‑64 (gần giống Base64) để mang dữ liệu nhị phân qua email. Lưu ý bảo mật: Base64 là định dạng có thể đảo ngược, không cung cấp bảo mật về tính bí mật hay tính toàn vẹn. Hãy mã hóa (encryption) trước, rồi mới encode Base64.
Base64 có an toàn không?
Không. Bất kỳ ai có chuỗi Base64 cũng có thể giải mã nó. Nếu cần bảo mật, hãy mã hóa (encryption) trước.
Vì sao báo “Định dạng Base64 không hợp lệ”?
Chỉ các ký tự A–Z, a–z, 0–9, +, / và = là hợp lệ, và độ dài phải đúng chuẩn (bội số của 4 hoặc có padding hợp lệ).
Vì sao các công cụ khác nhau lại cho kết quả khác nhau?
Khác biệt thường đến từ cách ngắt dòng, việc có giữ ký tự '=' padding, việc dùng hay không dùng biến thể URL‑safe (−/_), và những chi tiết cài đặt khác. Hãy thống nhất dùng UTF‑8, tắt ngắt dòng, và quyết định rõ có dùng URL‑safe và có giữ padding hay không.
Vì sao kích thước lại tăng?
Base64 biểu diễn 8 bit thông qua 6 bit; phần dư ~33% là đặc điểm vốn có của chuẩn.
Emojis/ký tự đặc biệt có được hỗ trợ không?
Có nếu dùng UTF‑8. Dữ liệu nhị phân không phải văn bản sau khi giải mã có thể trông như chuỗi vô nghĩa.