Bộ mã hóa/giải mã Base64

Mã hóa và giải mã văn bản Base64

0 -> 0
Đầu vào
Đầu ra

Hướng dẫn công cụ

Về Bộ mã hóa/giải mã Base64

Công cụ mã hóa và giải mã Base64 chuyển văn bản UTF-8 thành Base64 và giải mã Base64 trở lại thành văn bản dễ đọc.

Công cụ hỗ trợ Base64 tiêu chuẩn và Base64 an toàn cho URL, kiểm tra đầu vào không hợp lệ và thực hiện chuyển đổi cục bộ trong trình duyệt của bạn.

Cách dùng công cụ mã hóa và giải mã Base64

  1. Dán văn bản UTF-8 thuần rồi bấm Encode để tạo chuỗi Base64.
  2. Dán một giá trị Base64 rồi bấm Decode để chuyển về văn bản dễ đọc.
  3. Bật Base64 an toàn cho URL khi giá trị sẽ nằm trong địa chỉ, phần của mã thông báo hoặc trường giống tên tệp.
  4. Dùng Swap khi bạn muốn đưa kết quả trở lại ô nhập cho lần chuyển đổi tiếp theo.

Khi nào nên dùng

  • Giải mã một phần mã thông báo, giá trị cấu hình hoặc nội dung yêu cầu API khi gỡ lỗi.
  • Mã hóa một đoạn văn bản ngắn sang Base64 trước khi đưa vào dữ liệu kiểm thử hoặc ví dụ trong tài liệu.
  • Kiểm tra xem giá trị Base64 vừa sao chép có hợp lệ không trước khi gửi sang dịch vụ khác.
  • Chuyển qua lại giữa biến thể tiêu chuẩn và biến thể an toàn cho URL khi làm việc với mã thông báo web hoặc tham số địa chỉ.

Base64, Base64 an toàn cho URL và phần đệm

Base64 biểu diễn các byte bằng ký tự in được. Đây là một dạng mã hóa biểu diễn, không phải mã hóa bảo mật, nên bất kỳ ai có văn bản đều giải mã được.

  • Base64 tiêu chuẩn dùng chữ cái, chữ số, dấu cộng, dấu gạch chéo và dấu bằng đệm tùy chọn.
  • Base64 an toàn cho URL thay dấu cộng bằng dấu gạch nối và dấu gạch chéo bằng dấu gạch dưới, nhờ vậy giá trị đi qua địa chỉ dễ dàng hơn.
  • Phần đệm: các dấu bằng ở cuối giúp căn cho đủ độ dài byte; một số định dạng an toàn cho URL bỏ chúng đi.
  • Văn bản UTF-8: ký tự ngoài tiếng Anh được chuyển thành byte trước, rồi mới biểu diễn dưới dạng Base64.

Câu hỏi thường gặp về Bộ mã hóa/giải mã Base64

Base64 có phải là mã hóa bảo mật không?
Không. Base64 là phép mã hóa có thể đảo ngược, không phải mã hóa bảo mật. Nó không giấu được gì trước người có thể giải mã văn bản.
Vì sao giải mã thất bại?
Đầu vào có thể chứa ký tự không hợp lệ, thiếu byte, sai chế độ an toàn cho URL, hoặc khoảng trắng sao chép nhầm làm đổi giá trị.
Khi nào nên dùng Base64 an toàn cho URL?
Dùng khi giá trị đã mã hóa cần xuất hiện trong địa chỉ, trong phần mã thông báo kiểu JWT, hoặc trong tên tệp mà dấu cộng và dấu gạch chéo có thể gây lỗi.
Base64 có làm dữ liệu nhỏ đi không?
Không. Base64 thường làm kích thước tăng khoảng một phần ba vì các byte nhị phân được biểu diễn bằng văn bản in được.
Văn bản Base64 của tôi có bị tải lên không?
Không. Việc mã hóa và giải mã chạy cục bộ trong trình duyệt và dữ liệu nhập không được tải lên wetool.site.

Base64 và mã hóa URL

Base64 dùng để biểu diễn byte thành văn bản. Mã hóa URL dùng để thoát các ký tự bên trong một địa chỉ. Nếu bạn đặt Base64 vào chuỗi truy vấn, bản an toàn cho URL thường dễ xử lý hơn bản tiêu chuẩn.

Base64 tiêu chuẩn và Base64 an toàn cho URL

Khi Base64 xuất hiện trong địa chỉ, JWT, tên tệp hoặc trường biểu mẫu, lỗi thường gặp nằm ở biến thể bảng chữ cái và phần đệm.

  • Base64 tiêu chuẩn dùng + và /, nên thường phải mã hóa URL thêm một lần trước khi đặt vào chuỗi truy vấn.
  • Base64 an toàn cho URL dùng - và _, phổ biến trong JWT, giá trị state của OAuth, mã thông báo ngắn và các trường giống tên tệp.
  • Một số giao thức giữ dấu = đệm ở cuối, số khác bỏ đi; khi giải mã thất bại, trước hết hãy kiểm tra xem độ dài có cần bù cho chia hết cho 4 hay không.

Ranh giới an toàn của Base64

Base64 là phép mã hóa biểu diễn, không phải mã hóa bảo mật. Nó biến dữ liệu nhị phân hoặc văn bản UTF-8 thành ký tự in được, nhưng không che giấu nội dung.

  • Bất kỳ ai có chuỗi Base64 đều giải mã được, nên đừng coi bí mật, mật khẩu hay khóa riêng là đã được bảo vệ chỉ vì chúng đã được mã hóa.
  • Khi giải mã phần tải của JWT, tiêu đề Basic Auth hoặc giá trị cấu hình, hãy giả định nội dung có thể nhạy cảm trước khi dán vào nhật ký hoặc phiếu công việc.
  • Hãy dùng mã hóa bảo mật thật cho tính bí mật, chữ ký cho tính xác thực và hàm băm cho tính toàn vẹn; Base64 chỉ là lớp biểu diễn.