onlinetools.dev

Mã hóa / giải mã Base64

Mã hóa văn bản sang Base64 hoặc giải mã Base64 về văn bản, có cả biến thể URL-safe

Chạy cục bộ
loading…
Về công cụ này

Base64 biến các byte bất kỳ thành một bảng chữ cái 64 ký tự chịu được việc dán vào JSON, URL, header HTTP và email. Công cụ này chạy cả hai chiều: gõ hoặc dán văn bản để mã hóa, hoặc dán một khối đã mã hóa để lấy lại bản gốc. UTF-8 được xử lý đúng ở cả hai chiều, nên emoji và các hệ chữ ngoài Latinh đi vòng vẫn nguyên vẹn.

Bộ giải mã cố tình dễ tính: nó chấp nhận bảng chữ cái an toàn cho URL (dùng - và _ thay cho + và /), loại bỏ khoảng trắng cùng ngắt dòng, và bù lại phần đệm bị thiếu trước khi giải mã — đúng ba thứ khiến các bộ giải mã khắt khe hơn hay từ chối những dữ liệu vốn hoàn toàn khôi phục được. Nếu các byte giải ra không phải văn bản UTF-8 hợp lệ, công cụ sẽ nói thẳng thay vì in ra một mớ ký tự lỗi; thường điều đó nghĩa là dữ liệu vốn ở dạng nhị phân, chẳng hạn một tấm ảnh.

Mọi thứ diễn ra ngay trong trang. Giải mã một token hay thông tin đăng nhập ở đây không gửi nó đi đâu cả.

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

Vì sao chuỗi Base64 của tôi kết thúc bằng dấu =?
Base64 mã hóa 3 byte thành 4 ký tự, nên khi độ dài đầu vào không chia hết cho 3, phần kết quả được đệm thêm dấu = để các nhóm vẫn thẳng hàng. Phần đệm không mang dữ liệu; bộ giải mã này tự khôi phục nếu nó đã bị cắt bỏ.
Base64 chuẩn và Base64 an toàn cho URL khác nhau thế nào?
Base64 chuẩn dùng + và /, vốn mang ý nghĩa đặc biệt trong URL và bản thân chúng lại phải được mã hóa tiếp. Biến thể an toàn cho URL (RFC 4648 §5) đổi chúng thành - và _ và thường bỏ luôn phần đệm. Ví dụ, JWT dùng dạng an toàn cho URL này. Bộ mã hóa ở đây cho bạn cả hai; bộ giải mã tự nhận cả hai.
Base64 có phải là mã hóa bảo mật không?
Không. Base64 là phép mã hóa thuận nghịch và không có khóa — ai cũng giải được. Nó bảo vệ dữ liệu khỏi hỏng hóc khi truyền, chứ không khỏi bị đọc. Nếu bạn cần tính bí mật, hãy mã hóa bằng mật mã trước rồi mới encode bản mã.
Vì sao kết quả giải mã báo không phải UTF-8 hợp lệ?
Chuỗi đã giải mã thành công, nhưng các byte thu được không phải văn bản — thường là một tệp PNG, PDF, hay dữ liệu đã nén/đã mã hóa. Đổ nội dung như vậy vào ô văn bản chỉ ra ký tự lỗi, nên công cụ báo rõ thay vì hiển thị.
Công cụ liên quan