logo
GeekFormat

Công cụ chuyển đổi Base64-Hex

Nhập Hex
0 ký tự

Công cụ chuyển đổi Base64-Hex hai chiều, chuyển đổi Hex sang Base64 và Base64 sang Hex trong cùng một trang. Hỗ trợ xóa tiền tố 0x, chuyển đổi hoa/thường, chuyển đổi thời gian thực, xử lý cục bộ. Phù hợp phân tích gói tin Wireshark và gỡ lỗi giao thức

Đề xuất Liên quan

Trường hợp sử dụng

  • Phân tích gói tin Wireshark: sao chép dữ liệu Hex từ gói tin bắt được rồi chuyển thành Base64 để dùng trong API hoặc công cụ khác
  • Gỡ lỗi giao thức mạng: chuyển đổi bộ đệm nhị phân giữa Hex và Base64 để kiểm tra payload của giao thức tùy chỉnh
  • Phát triển và kiểm thử API: chuyển đổi dữ liệu kiểm thử giữa định dạng Hex và Base64 cho yêu cầu REST API và JSON payload
  • Phân tích nhật ký nhị phân: chuyển đổi dữ liệu Hex trong tệp log thành Base64 để gửi tiếp hoặc lưu trữ trong hệ thống chỉ hỗ trợ văn bản
  • Làm việc với khóa mã hóa: chuyển đổi khóa và IV giữa định dạng Hex và Base64 cho các thư viện mã hóa khác nhau
  • Phát triển và gỡ lỗi WebSocket: chuyển đổi khung dữ liệu nhị phân giữa các định dạng để kiểm tra giao tiếp thời gian thực
  • Quản lý chứng chỉ và chữ ký: chuyển đổi dữ liệu chứng chỉ giữa định dạng Hex và Base64 cho thư viện TLS/SSL
  • Script và tự động hóa: tạo dữ liệu kiểm thử ở các định dạng khác nhau cho shell script và pipeline phát triển
  • Phân tích JWT và token: chuyển đổi các phần của JWT ở định dạng Base64URL thành Hex để kiểm tra nội dung
  • Học mã hóa dữ liệu: hiểu mối quan hệ giữa các định dạng mã hóa nhị phân thành văn bản khác nhau
  • Làm việc với tcpdump: chuyển đổi đầu ra Hex từ tcpdump thành Base64 để phân tích tiếp trong công cụ khác
  • Chuyển đổi dữ liệu cho cơ sở dữ liệu: chuyển đổi dữ liệu nhị phân thành Base64 để lưu trữ trong trường văn bản của CSDL

Tính năng

  • Chuyển đổi hai chiều: chuyển đổi Hex sang Base64 và Base64 sang Hex trong cùng một trang, đổi chiều tức thì
  • Tự động xóa tiền tố 0x: phát hiện và xóa tiền tố 0x đứng trước giá trị Hex để xử lý chính xác
  • Chuyển đổi hoa/thường: chọn đầu ra Hex là chữ hoa (A-F) hoặc chữ thường (a-f) theo nhu cầu
  • Chuyển đổi thời gian thực: khi nhập hoặc dán dữ liệu, hệ thống chuyển đổi ngay lập tức không cần nhấn nút
  • Xử lý cục bộ: mọi thao tác chuyển đổi chạy trên trình duyệt, dữ liệu không gửi lên máy chủ
  • Hỗ trợ Wireshark: dán dữ liệu Hex từ việc bắt gói tin rồi chuyển sang Base64 để phân tích tiếp ngay lập tức
  • Gỡ lỗi giao thức: chuyển đổi bộ đệm nhị phân sang định dạng văn bản để kiểm tra API payload và thông điệp mạng
  • Tự động làm sạch đầu vào: loại bỏ khoảng trắng, xuống dòng và ký tự không thuộc Hex/Base64 trước khi xử lý
  • Kiểm tra hợp lệ: phát hiện đầu vào không hợp lệ và hiển thị thông báo lỗi dễ hiểu
  • Sao chép kết quả một cú nhấp: nút sao chép tích hợp cho cả kết quả Hex và Base64
  • Hỗ trợ khoảng trắng trong Hex: dữ liệu Hex có khoảng trắng ngăn cách (ví dụ từ Wireshark) có thể chuyển đổi trực tiếp
  • Tuân thủ RFC 4648: sử dụng mã hóa Base64 tiêu chuẩn theo quy định RFC 4648 §4
  • Không cần cài đặt: sử dụng ngay qua trình duyệt, không cần cài đặt phần mềm hay thư viện bổ sung
  • Hỗ trợ ngoại tuyến: sau khi tải trang có thể sử dụng mà không cần kết nối mạng

Cách Sử dụng

  1. Chọn chiều chuyển đổi: Hex sang Base64 hoặc Base64 sang Hex bằng cách nhấn nút đổi chiều
  2. Đối với Hex sang Base64: dán chuỗi Hex (có thể có khoảng trắng hoặc tiền tố 0x) vào ô đầu vào
  3. Đối với Base64 sang Hex: dán chuỗi Base64 (có hoặc không có padding =) vào ô đầu vào
  4. Hệ thống sẽ chuyển đổi dữ liệu thời gian thực ngay lập tức, kết quả sẽ xuất hiện trong ô đầu ra tự động
  5. Nếu muốn thay đổi kiểu chữ của Hex đầu ra, sử dụng công tắc chuyển đổi hoa/thường
  6. Nhấn nút sao chép để sao chép kết quả vào bộ nhớ đệm để sử dụng tiếp

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

Công cụ chuyển đổi Base64-Hex có khác với mã hóa không?

Không. Cả Hex và Base64 chỉ là mã hóa (encoding) chuyển đổi định dạng dữ liệu, không phải mã hóa bảo mật (encryption). Bất kỳ ai cũng có thể giải mã Base64 hay Hex nếu có chuỗi đó. Nếu cần bảo vệ dữ liệu, hãy sử dụng AES hoặc thuật toán mã hóa phù hợp

Có thể sử dụng trực tiếp với dữ liệu từ Wireshark không?

Có. Công cụ này hỗ trợ dữ liệu Hex có khoảng trắng ngăn cách theo định dạng của Wireshark và tcpdump. Chỉ cần sao chép cột Hex từ Wireshark rồi dán vào ô đầu vào, hệ thống sẽ tự động xử lý khoảng trắng và định dạng

Có cần tự xóa tiền tố 0x không?

Không cần. Công cụ này có tính năng tự động xóa tiền tố 0x. Có thể dán dữ liệu như 0xDEAD 0xBEEF trực tiếp, hệ thống sẽ phát hiện và xóa 0x ở đầu mỗi khối Hex trước khi xử lý

Dữ liệu có được gửi lên máy chủ không?

Không. Mọi xử lý diễn ra cục bộ trên trình duyệt bằng JavaScript, không có dữ liệu nào được gửi đến máy chủ bên ngoài. Dữ liệu của bạn không rời khỏi thiết bị

Có thể chọn chữ hoa hoặc chữ thường cho kết quả Hex không?

Có. Có công tắc chuyển đổi hoa/thường cho kết quả Hex, có thể chọn chữ hoa (DEADBEEF) hoặc chữ thường (deadbeef) để phù hợp với định dạng mà hệ thống đích yêu cầu

Sự khác biệt giữa Hex và Base64 là gì?

Hex (Base16) sử dụng 16 ký tự và tăng kích thước dữ liệu 100% (1 byte = 2 ký tự), trong khi Base64 sử dụng 64 ký tự và tăng kích thước khoảng 33% (3 byte = 4 ký tự). Hex dễ đọc hơn nhưng kích thước lớn hơn; Base64 nhỏ hơn nhưng khó đọc hơn và được sử dụng rộng rãi trong web và API

Có hỗ trợ Base64URL không?

Công cụ này sử dụng Base64 tiêu chuẩn (tiêu chuẩn RFC 4648 §4 sử dụng + và /). Đối với Base64URL (sử dụng - và _ thay thế + và /, không có padding), có thể sử dụng công cụ Base64 URL-Safe liên quan

Tại sao kết quả có dấu = ở cuối?

Dấu = là một phần của padding của Base64, được sử dụng để đảm bảo độ dài chuỗi Base64 là bội số của 4. Xảy ra khi dữ liệu gốc không phải bội số của 3 byte, là hành vi tiêu chuẩn theo RFC 4648

Có thể sử dụng ngoại tuyến không?

Có. Sau khi tải trang hoàn tất, có thể sử dụng ngoại tuyến vì không có lệnh gọi API bên ngoài hay xử lý trên máy chủ. Có thể lưu trang và sử dụng cục bộ

Nên sử dụng công cụ này cho dữ liệu nhạy cảm như khóa mã hóa không?

Vì xử lý diễn ra cục bộ và không có dữ liệu gửi lên máy chủ, nó an toàn hơn các công cụ trực tuyến gửi dữ liệu lên máy chủ để xử lý. Tuy nhiên, phương pháp hay nhất là không nên dán khóa sản xuất (production keys) vào bất kỳ công cụ trực tuyến nào. Nên sử dụng công cụ cục bộ như openssl cho dữ liệu cực kỳ nhạy cảm

Tại sao phải chuyển đổi Hex sang Base64?

Có nhiều lý do: (1) Base64 có kích thước nhỏ hơn (~33% overhead so với 100% của Hex); (2) Nhiều API và dịch vụ web chỉ chấp nhận Base64 cho dữ liệu nhị phân; (3) Dễ dàng truyền qua các kênh chỉ hỗ trợ văn bản; (4) Là định dạng tiêu chuẩn cho Data URI, JWT, email MIME

Chuyển đổi hai chiều có nghĩa là gì?

Có nghĩa là công cụ này có thể chuyển đổi theo cả hai chiều trong cùng một trang: Hex → Base64 và Base64 → Hex. Có thể nhấn nút đổi chiều để thay đổi hướng chuyển đổi, thuận tiện cho việc kiểm tra ngược lại và công việc cần chuyển đổi qua lại giữa hai định dạng

Hỗ trợ dữ liệu lớn đến mức nào?

Phụ thuộc vào bộ nhớ của trình duyệt, nhưng nhìn chung có thể hỗ trợ dữ liệu từ vài trăm kilobyte đến vài megabyte. Đối với dữ liệu rất lớn (hàng chục megabyte trở lên), khuyến nghị sử dụng công cụ dòng lệnh như xxd, base64 hoặc openssl để có hiệu suất tốt hơn

Tại sao khoảng trắng trong Hex lại được chấp nhận?

Việc hiển thị Hex từ các công cụ phân tích mạng và trình gỡ lỗi (Wireshark, tcpdump, hexdump) thường có khoảng trắng ngăn cách giữa các byte để dễ đọc, ví dụ '48 65 6C 6C 6F'. Việc hỗ trợ khoảng trắng cho phép dán dữ liệu trực tiếp từ các nguồn này mà không cần chỉnh sửa

Có thể sử dụng công cụ này trong mã nguồn không?

Công cụ này được thiết kế để gỡ lỗi và sử dụng tương tác qua trang web. Nếu cần chức năng chuyển đổi trong mã nguồn, hãy sử dụng thư viện chuẩn của ngôn ngữ lập trình đó, ví dụ Buffer.from(str, 'hex').toString('base64') trong Node.js hoặc base64.b64encode(bytes.fromhex(hex_str)) trong Python

Công cụ chuyển đổi Base64-Hex là gì?

Base64 và Hex (thập lục phân) là hai định dạng mã hóa nhị phân thành văn bản được sử dụng rộng rãi trong phát triển phần mềm và giao tiếp mạng. Hex sử dụng 16 ký tự 0-9 và A-F (hoặc a-f), mỗi byte được biểu diễn bằng hai ký tự, giúp dễ đọc và gỡ lỗi. Trong khi đó, Base64 sử dụng 64 ký tự (A-Z, a-z, 0-9, +, /) để chuyển đổi dữ liệu nhị phân thành định dạng an toàn khi truyền qua các kênh văn bản theo RFC 4648

Việc chuyển đổi giữa Hex và Base64 là công việc thường gặp khi gỡ lỗi giao thức mạng. Khi sử dụng Wireshark để bắt gói tin, dữ liệu nhị phân thường hiển thị ở định dạng Hex, nhưng nhiều API và dịch vụ web yêu cầu dữ liệu ở định dạng Base64 cho JSON payload, HTTP header hoặc tham số URL. Công cụ này giúp việc chuyển đổi giữa hai định dạng trở nên mượt mà mà không cần viết script hay sử dụng công cụ dòng lệnh

Quá trình chuyển đổi từ Hex sang Base64 diễn ra hai bước: đầu tiên chuyển chuỗi Hex thành dữ liệu nhị phân thô, sau đó mã hóa dữ liệu nhị phân đó thành Base64. Chuyển đổi ngược lại từ Base64 sang Hex cũng thực hiện tương tự: giải mã Base64 thành nhị phân trước, rồi chuyển thành chuỗi Hex. Công cụ này tự động xử lý toàn bộ quy trình bên trong, bao gồm cả việc xử lý padding của Base64 và khoảng trắng trong dữ liệu Hex

Tính năng xóa tiền tố 0x đặc biệt quan trọng khi làm việc với dữ liệu từ nhiều ngôn ngữ lập trình như C/C++, Python và Rust thường hiển thị giá trị Hex với tiền tố 0x (ví dụ 0xDEADBEEF). Nếu không xóa tiền tố này trước khi xử lý, việc chuyển đổi sẽ thất bại. Công cụ này tự động phát hiện và xóa 0x ở đầu mỗi khối Hex, cho phép dán dữ liệu trực tiếp từ mã nguồn hoặc trình gỡ lỗi

Việc chuyển đổi chữ hoa/thường của Hex giúp tương thích với các định dạng khác nhau của các hệ thống. Một số hệ thống và thư viện sử dụng chữ hoa (DEADBEEF), trong khi những nơi khác dùng chữ thường (deadbeef). Nhiều tài liệu dùng chữ hoa để rõ ràng, còn đầu ra của Wireshark và tcpdump thường là chữ thường xen lẫn chữ hoa. Công cụ này cho phép bạn chọn kiểu chữ đầu ra để phù hợp với yêu cầu của hệ thống đích

Xử lý cục bộ là nguyên tắc cốt lõi của công cụ này. Mọi chuyển đổi hoạt động bên trong trình duyệt bằng JavaScript, không có dữ liệu nào được gửi đến máy chủ bên ngoài. Điều này có nghĩa là dữ liệu nhạy cảm như khóa mã hóa, token API hay dữ liệu gói tin bắt được sẽ không rời khỏi thiết bị của bạn, phù hợp với các phương pháp hay nhất cho công cụ bảo mật và gỡ lỗi

Chuyển đổi thời gian thực giúp tăng hiệu quả làm việc đáng kể. Khi bạn dán hoặc nhập dữ liệu, kết quả sẽ xuất hiện ngay lập tức mà không cần nhấn nút chuyển đổi hay làm mới trang. Điều này đặc biệt hữu ích khi làm việc với Wireshark: bạn có thể sao chép gói tin từ cửa sổ bắt gói, dán vào công cụ chuyển đổi và thấy kết quả Base64 ngay lập tức, giúp quy trình phân tích diễn ra liên tục

Mặc dù công cụ này thuận tiện cho phát triển và gỡ lỗi, cần lưu ý rằng cả Hex và Base64 chỉ là mã hóa (encoding), không phải mã hóa bảo mật (encryption). Dữ liệu được mã hóa bằng Base64 hay Hex đều có thể được giải mã bởi bất kỳ ai có chuỗi đó. Nếu cần bảo vệ dữ liệu nhạy cảm, hãy sử dụng thuật toán mã hóa phù hợp như AES thay vì dựa vào mã hóa Base64 hay Hex

术语表

Base64
Định dạng mã hóa nhị phân thành văn bản sử dụng 64 ký tự (A-Z, a-z, 0-9, +, /) theo RFC 4648, mỗi 3 byte trở thành 4 ký tự
Hex (thập lục phân)
Hệ đếm cơ số 16 sử dụng ký tự 0-9 và A-F (hoặc a-f), mỗi byte biểu diễn bằng hai ký tự, được sử dụng rộng rãi trong gỡ lỗi và hiển thị dữ liệu nhị phân
RFC 4648
Tiêu chuẩn IETF định nghĩa mã hóa Base16 (Hex), Base32 và Base64, bao gồm cả biến thể Base64URL
Tiền tố 0x
Tiền tố tiêu chuẩn được sử dụng trong nhiều ngôn ngữ lập trình để chỉ ra rằng một số ở hệ thập lục phân, ví dụ 0xFF biểu thị giá trị 255
Wireshark
Chương trình phân tích giao thức mạng cho phép xem chi tiết các gói tin mạng ở các cấp độ khác nhau
Phân tích gói tin
Quá trình kiểm tra và diễn giải các gói tin dữ liệu truyền qua mạng nhằm mục đích gỡ lỗi hoặc bảo mật
Gỡ lỗi giao thức
Quá trình tìm và sửa lỗi trong giao tiếp giữa các hệ thống thông qua việc kiểm tra dữ liệu gửi và nhận
Xử lý cục bộ
Việc xử lý dữ liệu diễn ra trên thiết bị của người dùng (trong trình duyệt) mà không cần gửi dữ liệu đến máy chủ từ xa
Chuyển đổi thời gian thực
Xử lý diễn ra ngay lập tức khi đầu vào thay đổi, không cần nhấn nút hay chờ đợi thao tác
Padding Base64
Ký tự = được thêm vào cuối chuỗi Base64 khi dữ liệu gốc không phải bội số của 3 byte, để đảm bảo độ dài đầu ra là bội số của 4
Byte stream
Chuỗi các byte dữ liệu được xử lý tuần tự, thường gặp trong giao tiếp mạng và xử lý tệp
Chuyển đổi hai chiều
Khả năng chuyển đổi từ định dạng A sang B và từ B ngược lại A trong cùng một công cụ, cho phép kiểm tra tính chính xác của việc chuyển đổi

So sánh mã hóa Hex và Base64

Đặc điểmHex (Base16)Base64
Số ký tự1664
Bộ ký tự0-9, A-F (a-f)A-Z, a-z, 0-9, +, /
Kích thước tăng100%~33%
Tiêu chuẩnRFC 4648 §8RFC 4648 §4
Ứng dụng chínhGỡ lỗi, băm, khóaEmail, API, JWT, Data URI
Dễ đọc với ngườiDễKhó

Ví dụ chuyển đổi Hex sang Base64

HexBase64Văn bản
48656C6C6FSGVsbG8=Hello
4765656B466F726D6174R2Vla0Zvcm1hdA==GeekFormat
DEADBEEF3q2+7w==(nhị phân)
00FFAP8=(byte)

Các công cụ liên quan

Công cụĐường dẫnMô tả
Base64 Encode/encode/base64-encode/Mã hóa văn bản thành Base64
Base64 Decode/encode/base64-decode/Giải mã Base64 thành văn bản
Hex Encode/encode/hex-encode/Mã hóa văn bản thành Hex
Base64 Clean/encode/base64-clean/Làm sạch chuỗi Base64
Base58/encode/base58/Mã hóa Base58
URL Encode/encode/url-encode/Mã hóa URL

Privacy & Security

Công cụ chuyển đổi Base64-Hex này xử lý toàn bộ dữ liệu cục bộ trên trình duyệt của bạn bằng JavaScript. Không có dữ liệu nào bạn nhập (chuỗi Hex, chuỗi Base64, kết quả chuyển đổi) được gửi đến máy chủ bên ngoài. Không có ghi log, phân tích hay lưu đệm dữ liệu người dùng. Trang có thể sử dụng ngoại tuyến sau khi tải xong. Phương pháp hay nhất: tránh dán khóa sản xuất (production keys) hoặc dữ liệu cực kỳ nhạy cảm vào bất kỳ công cụ trực tuyến nào, kể cả công cụ này, mặc dù nó xử lý cục bộ. Công cụ này phù hợp cho phát triển, gỡ lỗi, học tập và kiểm thử; dữ liệu sản xuất nên được xử lý trong môi trường cục bộ được kiểm soát

Authoritative References

Troubleshooting

Lỗi: Ký tự Hex không hợp lệ

Đầu vào chứa ký tự không thuộc 0-9, A-F, a-f, khoảng trắng hoặc tiền tố 0x. Có thể có ký tự đặc biệt hoặc ký hiệu không mong muốn lẫn vào từ việc sao chép Kiểm tra xem đầu vào chỉ chứa ký tự hợp lệ. Thử sử dụng tùy chọn làm sạch đầu vào để loại bỏ ký tự không hợp lệ, hoặc sao chép lại dữ liệu từ nguồn. Cẩn thận với ký tự không nhìn thấy được khi sao chép từ PDF hoặc trang web

Lỗi: Chuỗi Base64 không hợp lệ

Chuỗi Base64 chứa ký tự không được phép hoặc độ dài không chính xác (phải là bội số của 4). Có thể do đã xóa padding = hoặc có khoảng trắng/xuống dòng lẫn vào Kiểm tra chuỗi Base64 chỉ chứa ký tự A-Z, a-z, 0-9, +, /, =. Nếu độ dài không phải bội số của 4, hãy thêm = vào cuối. Thử dán lại dữ liệu mà không có định dạng bổ sung

Kết quả không khớp với mong đợi

Có thể do vấn đề mã hóa ký tự (character encoding), ví dụ dữ liệu Hex đại diện cho UTF-8 nhưng được hiểu là Latin-1, hoặc có khoảng trắng ở vị trí không đúng trong dữ liệu Hex từ Wireshark Kiểm tra mã hóa ký tự của dữ liệu nguồn. Đối với dữ liệu Wireshark, đảm bảo chỉ sao chép cột Hex mà không bao gồm cột văn bản. Thử xóa toàn bộ khoảng trắng trước khi chuyển đổi nếu gặp sự cố

Chuyển đổi rất chậm với dữ liệu lớn

Dữ liệu quá lớn (nhiều megabyte) có thể làm chậm quá trình chuyển đổi do chạy trên JavaScript của trình duyệt, hoặc có quá nhiều ký tự không hợp lệ khiến việc xử lý lỗi tốn thời gian Đối với dữ liệu rất lớn, hãy chia thành các phần nhỏ trước khi chuyển đổi. Kiểm tra xem dữ liệu có ký tự không hợp lệ hay không. Nếu có thể, sử dụng công cụ dòng lệnh như xxd hoặc base64 cho các tệp cực lớn