nicetool.dev logo

BASE64 MÃ HÓA

Mọi thứ được xử lý trong trình duyệt của bạn. Dữ liệu không bao giờ rời khỏi máy tính của bạn.

Nguồn đầu vào
Kết quả

Base64 là gì?

Base64 là một nhóm các lược đồ mã hóa nhị phân sang văn bản đại diện cho dữ liệu nhị phân ở định dạng chuỗi ASCII bằng cách dịch nó sang biểu diễn radix-64. Nó cho phép dữ liệu nhị phân (như hình ảnh hoặc tệp) được truyền qua các kênh được thiết kế để xử lý văn bản một cách đáng tin cậy.

Cách Base64 hoạt động

Base64 hoạt động bằng cách chia dữ liệu nhị phân đầu vào thành các nhóm 24-bit (3 byte). Các nhóm này sau đó được chia thành bốn đoạn 6-bit. Mỗi giá trị 6-bit được ánh xạ tới một ký tự cụ thể trong bảng chữ cái Base64 (A-Z, a-z, 0-9, +, /). Nếu độ dài dữ liệu không chia hết cho 3, ký tự '=' được thêm vào làm phần đệm.

3 Bytes (24 bits) → 4 Chars (6 bits each)

Mã hóa (Encoding) vs. Mã hóa mật (Encryption)

Một quan niệm sai lầm phổ biến là Base64 bảo mật dữ liệu. Base64 là Encoding, KHÔNG phải Encryption. Chuỗi Base64 có thể được giải mã bởi bất kỳ ai mà không cần khóa hoặc mật khẩu. Do đó, không bao giờ sử dụng Base64 đơn lẻ để lưu trữ mật khẩu hoặc bí mật nhạy cảm.

Base64 ≠ Password Protection

Các trường hợp sử dụng phổ biến

  • Data URIs: Nhúng hình ảnh hoặc biểu tượng trực tiếp vào HTML/CSS để giảm yêu cầu HTTP.
  • Tệp đính kèm Email (MIME): Truyền tệp nhị phân an toàn qua các giao thức SMTP dựa trên văn bản cũ.
  • APIs & JSON: Truyền dữ liệu nhị phân (như PDF hoặc hình ảnh) bên trong payload JSON.

Tại sao công cụ này an toàn?

Không giống như nhiều công cụ phía máy chủ, Nicetool.dev hoạt động trên kiến trúc 'Local-first'. Chúng tôi sử dụng khả năng của trình duyệt của bạn để xử lý tất cả các tác vụ mã hóa và giải mã.

Dữ liệu của bạn KHÔNG BAO GIỜ được gửi đến máy chủ của chúng tôi.

Cách dùng công cụ Base64 Encode/Decode

  1. 1

    Chọn Encode để biến văn bản thành Base64, hoặc Decode để đổi chuỗi Base64 về văn bản đọc được.

  2. 2

    Dán dữ liệu vào. Hãy để bộ ký tự UTF-8 cho văn bản có dấu tiếng Việt, emoji hay chữ châu Á; chỉ chọn ASCII cho dữ liệu cũ toàn chữ tiếng Anh.

  3. 3

    Khi bật Live Mode, kết quả cập nhật ngay khi gõ. Với dữ liệu lớn, hãy tắt đi và bấm GO! khi đã dán xong.

  4. 4

    Sao chép kết quả. Nếu giải mã báo lỗi, có thể chuỗi chứa ký tự ngoài bảng chữ Base64 hoặc bị cắt mất một đoạn, hãy kiểm tra lại xem đã sao chép đủ chưa.

Ví dụ thực tế

Xác thực HTTP Basic

Header Authorization cho tài khoản admin, mật khẩu s3cret là "Basic " cộng với Base64 của "admin:s3cret", tức YWRtaW46czNjcmV0. Giải mã header trong log sẽ biết tài khoản nào đã được gửi.

Secret của Kubernetes

Giá trị trong manifest Secret được mã hóa Base64. Giải mã để kiểm tra chuỗi kết nối database, hoặc mã hóa giá trị mới trước khi dán vào file YAML.

Data URI

Icon nhỏ có thể nhúng thẳng vào CSS hay HTML dưới dạng data:image/png;base64,... để trình duyệt bớt một request.

Kiểm tra token và payload

Chữ ký webhook, file đính kèm email (MIME) và một phần của JWT đều dùng Base64. Giải mã thường là bước đầu tiên khi gỡ lỗi tích hợp.

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, ai cũng giải ngược được mà không cần khóa. Nó giúp gửi dữ liệu nhị phân qua kênh văn bản an toàn, nhưng không che giấu nội dung. Hãy dùng mã hóa thật cho thông tin bí mật.

Vì sao kết quả Base64 dài hơn dữ liệu gốc?+

Base64 biểu diễn mỗi 3 byte bằng 4 ký tự nên kết quả lớn hơn khoảng 33%. Dấu = ở cuối là phần đệm cho nhóm cuối cùng.

Base64URL là gì?+

Là biến thể thay + bằng - và / bằng _, thường bỏ dấu = ở cuối, để dùng được trong URL và tên file. JWT dùng Base64URL.

Vì sao chữ có dấu giải mã ra bị lỗi?+

Thường do văn bản được mã hóa bằng bộ ký tự khác. Hầu hết hệ thống hiện nay dùng UTF-8, hãy chọn UTF-8 ở cả hai phía để giữ đúng các ký tự như ữ, ặ.