Công cụ mã hoá và giải mã Base64

Base64 không phải mã hoá bảo mật — đây là cách viết lại dữ liệu nhị phân bằng 64 ký tự chữ và số an toàn, để dữ liệu đi qua được những đường ống vốn chỉ hiểu chữ. Thư điện tử, chuỗi JSON, thẻ dữ liệu trong ảnh và mã xác thực trong tiêu đề HTTP đều dùng nó. Bất kỳ ai cũng giải ngược được trong một giây, nên tuyệt đối đừng dùng Base64 để giấu thông tin nhạy cảm. Điểm khiến công cụ này khác phần lớn công cụ Base64 trên mạng: nó xử lý ĐÚNG tiếng Việt có dấu và emoji. Hàm mã hoá Base64 có sẵn của trình duyệt chỉ nhận được ký tự trong bảng mã Latin-1; gặp chữ "ế" hay "đ" là ném lỗi ngay. Rất nhiều trang chép nguyên hàm đó vào nên gõ tiếng Việt vào là trắng trang hoặc báo lỗi khó hiểu. Ở đây chuỗi được đổi sang byte UTF-8 trước rồi mới mã hoá, nên chữ Việt, chữ Nhật hay biểu tượng cảm xúc đều đi qua nguyên vẹn. Chiều giải mã cũng nhận thêm biến thể base64url — dạng thay dấu cộng và gạch chéo bằng gạch ngang và gạch dưới, hay gặp trong mã thông báo JWT và tham số trên đường dẫn. Một lưu ý về dung lượng: Base64 gom mỗi 3 byte thành 4 ký tự, nên dữ liệu luôn phình thêm khoảng một phần ba. Nhúng ảnh dưới dạng Base64 vào trang web vì thế làm trang nặng hơn so với để ảnh thành tệp riêng.

Nhập liệu
Kết quả
Kết quả
WGluIGNow6BvIFZp4buHdCBOYW0=
Kích thước20 byte → 28 ký tự
Tăng thêm40,0% — Base64 phình khoảng 33% với dữ liệu dài; chuỗi ngắn phình nhiều hơn vì phần đệm dấu bằng ở cuối
Công Cụ Tính

Công cụ liên quan

Về công cụ này — cách hoạt động, công thức & câu hỏi thường gặp

Cách sử dụng

  1. Chọn chiều: từ chuỗi thường sang Base64, hoặc ngược lại.
  2. Dán nội dung vào ô — tiếng Việt có dấu và emoji đều được.
  3. Đọc kết quả ở dòng đầu, có thể bôi đen để sao chép.
  4. Xem dòng kích thước để biết dữ liệu phình thêm bao nhiêu.
  5. Chiều giải mã báo rõ khi chuỗi vào không phải Base64 hợp lệ, thay vì trả ra chữ rác.

Công thức

Base64 gom mỗi 3 byte thành 4 ký tự chữ, nên dữ liệu luôn phình thêm khoảng 33%

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

Base64 có phải là mã hoá bảo mật không?
Không. Base64 chỉ là cách VIẾT LẠI dữ liệu, không có khoá bí mật nào. Ai cũng giải ngược được trong một giây bằng chính công cụ này. Dùng Base64 để giấu mật khẩu hay dữ liệu cá nhân là sai lầm nguy hiểm — muốn bảo mật phải dùng mã hoá thật như AES.
Vì sao nhiều công cụ Base64 khác lỗi với tiếng Việt?
Vì chúng gọi thẳng hàm có sẵn của trình duyệt, mà hàm đó chỉ nhận ký tự trong bảng mã Latin-1. Gặp chữ "ế" hay "đ" là ném lỗi. Công cụ này đổi chuỗi sang byte UTF-8 trước khi mã hoá nên không vướng giới hạn đó.
Dấu bằng ở cuối chuỗi Base64 có ý nghĩa gì?
Đó là phần đệm. Base64 xử lý theo nhóm 3 byte; khi dữ liệu không chia hết cho 3, phần thiếu được bù bằng một hoặc hai dấu bằng để chuỗi ra luôn là bội số của 4 ký tự. Nhìn số dấu bằng là đoán được độ dài dữ liệu gốc chia 3 dư mấy.
base64url khác Base64 thường chỗ nào?
Khác đúng hai ký tự: base64url dùng gạch ngang thay dấu cộng và gạch dưới thay gạch chéo, đồng thời thường bỏ luôn phần đệm dấu bằng. Lý do là dấu cộng và gạch chéo có ý nghĩa riêng trong đường dẫn web. Mã thông báo JWT dùng đúng biến thể này. Công cụ nhận cả hai dạng khi giải mã.
Có nên nhúng ảnh dạng Base64 vào trang web không?
Chỉ nên với ảnh rất nhỏ như biểu tượng vài trăm byte. Base64 làm dữ liệu phình khoảng 33%, lại không được trình duyệt lưu đệm riêng như tệp ảnh thường, nên mỗi lần tải trang là tải lại từ đầu. Ảnh lớn để thành tệp riêng vẫn nhanh hơn.

Sao chép đoạn mã này vào website của bạn để thêm công cụ. Nó hiển thị liền mạch — không thương hiệu chèn ngang, chạy trên mọi trang.

px
✓ 100% Miễn phí✓ Không cần đăng ký✓ Nhanh & Chính xác✓ Dùng trên mọi thiết bị