Bộ mã hóa Base64
Bộ mã hóa Base64 là công cụ miễn phí giúp chuyển đổi một chuỗi thành văn bản Base64 tiêu chuẩn.
Base64 là gì và tại sao cần dùng đến nó?
Base64 là phương thức mã hóa dữ liệu nhị phân thành văn bản bằng chữ cái, chữ số và một nhóm nhỏ ký hiệu. Phương thức này ra đời vì một số hệ thống có thể truyền văn bản ổn định nhưng lại có thể thay đổi hoặc từ chối dữ liệu nhị phân thô.
Bảng ký tự Base64 tiêu chuẩn gồm chữ hoa, chữ thường, chữ số, dấu cộng và dấu gạch chéo. Dấu bằng có thể xuất hiện ở cuối để làm phần đệm. Giá trị sau khi mã hóa thường dài hơn dữ liệu gốc vì mỗi nhóm ba byte đầu vào được chuyển thành bốn ký tự Base64.
Đầu vào là Hello.
Đầu ra là SGVsbG8=.
Base64 xử lý byte, không xử lý trực tiếp các ký tự mà con người đọc được. Khoảng trắng, dấu câu và chữ số đều được mã hóa như mọi dữ liệu đầu vào khác. Chữ có dấu, emoji và các hệ chữ phi Latin trước hết phải được biểu diễn bằng một bảng mã ký tự, thường là UTF-8. Cách mã hóa byte khác nhau sẽ tạo ra kết quả Base64 khác nhau. Đầu vào trống cho giá trị mã hóa trống, còn đầu vào rất dài sẽ tạo ra chuỗi dài hơn theo tỷ lệ tương ứng.
Base64 là phương thức mã hóa biểu diễn dữ liệu, không phải mã hóa bảo mật. Bất kỳ ai có công cụ giải mã đều có thể khôi phục dữ liệu gốc. Vì vậy, Base64 không bảo đảm tính bí mật và không phù hợp để che giấu mật khẩu, khóa API hoặc thông tin cá nhân.
Cách dùng Bộ mã hóa Base64
Nhập chuỗi cần mã hóa rồi xem giá trị đã chuyển đổi trong trường kết quả Đã mã hóa Base64. Công cụ sử dụng chuẩn Base64 thông qua hàm base64_encode của PHP.
- Sao chép chính xác chuỗi nguồn, bao gồm mọi khoảng trắng hoặc dấu xuống dòng cần giữ lại.
- Sao chép giá trị Base64 được trả về, không thêm dấu ngoặc kép hay khoảng trắng thừa.
Quá trình xử lý diễn ra trên máy chủ. Dữ liệu đầu vào được gửi đến máy chủ qua HTTPS và không được lưu trữ. Dù HTTPS bảo vệ yêu cầu trong lúc truyền, hãy tránh gửi dữ liệu bí mật trừ khi hệ thống nhận thực sự yêu cầu Base64.
Base64 được dùng vào việc gì trong thực tế?
Base64 được dùng khi dữ liệu nhị phân hoặc các byte bất kỳ cần truyền qua một định dạng dựa trên văn bản. Hệ thống nhận phải biết giá trị đó là Base64 và giải mã ở đúng giai đoạn.
- URL dữ liệu đặt hình ảnh, phông chữ hoặc tệp khác đã mã hóa Base64 trực tiếp trong HTML hay CSS, kèm theo loại phương tiện.
- Chuỗi truy vấn đôi khi chứa token đã mã hóa hoặc dữ liệu có cấu trúc, dù biến thể Base64 an toàn cho URL thường phù hợp hơn.
- Email sử dụng Base64 như một trong các kiểu mã hóa truyền MIME cho tệp đính kèm và những phần thư không thể gửi an toàn dưới dạng văn bản thuần túy.
- Payload JSON có thể biểu diễn byte của hình ảnh, tài liệu hoặc dữ liệu mật mã dưới dạng chuỗi vì JSON không có kiểu dữ liệu nhị phân riêng.
- Xác thực HTTP sử dụng Base64 cho tên người dùng và mật khẩu trong cơ chế xác thực Basic. Giá trị vẫn có thể đọc được sau khi giải mã, nên vẫn cần bảo mật đường truyền.
Nên chọn Base64 tiêu chuẩn hay Base64url?
Công cụ này tạo Base64 tiêu chuẩn, phù hợp với email MIME, nhiều API JSON và các hệ thống yêu cầu rõ ràng bảng ký tự Base64 thông thường. Kết quả tiêu chuẩn có thể chứa +, / và phần đệm = ở cuối.
Hãy chọn Base64url khi giá trị sẽ nằm trong URL, tên tệp, cookie hoặc JSON Web Token. Biến thể này thay + bằng -, thay / bằng _ và thường bỏ phần đệm. Đừng tự ý đổi biến thể khi chưa kiểm tra đặc tả của hệ thống nhận. Bộ giải mã dùng một bảng ký tự có thể từ chối dữ liệu thuộc bảng ký tự kia.
Vì sao Base64 không giải mã được hoặc cho ra dữ liệu khó hiểu?
Base64 thường không giải mã được vì đầu vào dùng một biến thể ngoài dự kiến hoặc đã bị thay đổi trong quá trình truyền. Dữ liệu Base64 hợp lệ cũng có thể được giải mã thành các byte nhị phân trông như ký tự vô nghĩa nếu hiển thị dưới dạng văn bản.
- Sai bảng ký tự thường xảy ra khi đưa dữ liệu Base64url vào một bộ giải mã Base64 tiêu chuẩn nghiêm ngặt hoặc ngược lại.
- Thiếu phần đệm có thể gây lỗi ở những bộ giải mã yêu cầu hoàn chỉnh độ dài bằng một hoặc hai dấu bằng.
- Mã hóa hai lần xảy ra khi một giá trị đã mã hóa lại bị mã hóa thêm lần nữa. Lần giải mã đầu tiên khi đó trả về một chuỗi trông vẫn giống Base64 thay vì nội dung gốc.
- Ký tự bị thay đổi có thể xảy ra khi dấu cộng trong chuỗi truy vấn bị hiểu là khoảng trắng, hoặc khi thao tác sao chép làm xuất hiện thêm dấu xuống dòng và khoảng trắng.
- Đầu ra nhị phân có thể trông như ký tự vô nghĩa khi được hiển thị dưới dạng văn bản. Các byte đã giải mã có thể là hình ảnh, tệp nén, PDF hoặc tệp được mã hóa bảo mật và cần mở bằng đúng ứng dụng.
Bộ giải mã Base64 có thể khôi phục văn bản Base64 tiêu chuẩn. Nếu các byte sau khi giải mã là dữ liệu hình ảnh, công cụ Base64 sang Hình ảnh có thể là bước tiếp theo trực tiếp hơn.
Câu hỏi thường gặp
Base64 có giữ nguyên chữ hoa, chữ thường và dấu xuống dòng không?
Có. Base64 giữ nguyên các byte nền, bao gồm kiểu viết hoa, viết thường và ký tự xuống dòng. Tuy nhiên, kiểu kết thúc dòng của Windows và Unix sử dụng các chuỗi byte khác nhau, nên văn bản nhiều dòng nhìn giống hệt nhau vẫn có thể tạo ra các giá trị mã hóa khác nhau.
Có thể dán Base64 trực tiếp vào HTML hoặc CSS không?
Chỉ khi bạn bổ sung cú pháp mà tài liệu yêu cầu. URL dữ liệu thường phải có loại phương tiện và dấu ;base64 trước payload đã mã hóa. Công cụ này chỉ trả về payload, không tạo toàn bộ URL đó.
Cùng một văn bản có luôn tạo ra cùng một giá trị Base64 không?
Có, nếu các byte đầu vào hoàn toàn giống nhau. Bảng mã ký tự khác, khoảng trắng vô hình ở cuối, dấu thứ tự byte hoặc kiểu kết thúc dòng bị thay đổi đều sẽ làm kết quả khác đi.
Base64 có phân biệt chữ hoa và chữ thường không?
Có. Chữ hoa và chữ thường đại diện cho các giá trị khác nhau trong bảng ký tự Base64. Vì vậy, việc thay đổi kiểu chữ có thể làm hỏng dữ liệu sau khi giải mã, ngay cả khi chuỗi trông vẫn hợp lệ.
Công cụ này có mã hóa được tệp không?
Công cụ này được thiết kế cho chuỗi, không hỗ trợ tải tệp lên. Dán nội dung biểu diễn bằng văn bản của một tệp không giống với việc mã hóa các byte thô của chính tệp đó. Nếu ứng dụng khác yêu cầu byte của tệp ở dạng Base64, hãy dùng công cụ mã hóa hỗ trợ tệp và làm theo yêu cầu của ứng dụng đó về bảng ký tự Base64 cũng như phần đệm.
Các công cụ tương tự
Giải mã đầu vào Base64 về định dạng chuỗi ban đầu bằng công cụ giải mã Base64 của chúng tôi để truy xuất dữ liệu dễ dàng.
Công cụ phổ biến
Dễ dàng tạo chữ ký tùy chỉnh của riêng bạn và tải xuống nó một cách dễ dàng.
Lấy kích thước của một văn bản theo Byte (B), Kilobyte (KB) hoặc Megabyte (MB).
Sử dụng công cụ ping của chúng tôi để kiểm tra nhanh chóng và hiệu quả trạng thái cùng thời gian phản hồi của bất kỳ trang web, máy chủ hoặc cổng nào.
Công cụ tra cứu IP của Digily Link cung cấp thông tin chi tiết về mọi địa chỉ IP. Hãy dùng dịch vụ trực tuyến miễn phí này để nhận dữ liệu IP toàn diện.
Tạo ngay liên kết WhatsApp miễn phí bằng Trình tạo liên kết WhatsApp của chúng tôi. Thêm tin nhắn tùy chỉnh và bắt đầu trò chuyện chỉ với một lần nhấp, không cần đăng nhập hay viết mã.