Công cụ chuyển đổi Hexspeak

Dấu cách phân tách từ. Ký tự không hỗ trợ được báo rõ và không bao giờ bị âm thầm xóa.

Biến một số nguyên thập phân không âm thành từ hệ thập lục phân dễ nhớ, hoặc kiểm tra xem một cụm từ Latin có thể viết bằng các ký tự thập lục phân hay không. Chế độ số hiển thị giá trị cơ số 16 thô và chỉ áp dụng cách đọc cổ điển 0 → O, 1 → I khi mọi chữ số đều tương thích. Chế độ cụm từ cung cấp quy tắc chính xác và các phép thay thế thận trọng được công bố rõ ràng, báo ký tự không hỗ trợ thay vì âm thầm xóa chúng, rồi cho phép định dạng kết quả hợp lệ để dùng trong mã, tài liệu, dữ liệu kiểm thử hoặc mã định danh dễ nhớ.

Cách dùng công cụ chuyển đổi Hexspeak

  1. 1

    Chọn chế độ chuyển đổi

    Dùng Số nguyên thập phân cho giá trị cơ số 10 không âm, hoặc Cụm từ Latin để kiểm tra từ và cụm từ ngắn.

  2. 2

    Đặt quy tắc cho cụm từ

    Trong chế độ cụm từ, chọn đúng ký tự thập lục phân hoặc phép thay thế thận trọng như O → 0 và S → 5.

  3. 3

    Kiểm tra và định dạng kết quả

    Xem giá trị thập lục phân thô, dạng dễ đọc và báo cáo ký tự không hỗ trợ, rồi chọn kiểu chữ, tiền tố và khoảng trắng.

Hai cách chính xác để tạo hexspeak

Hệ thập lục phân có cơ số 16, dùng 0–9A–F. Với các chữ số d₀ … dₙ, số nguyên được biểu diễn là:

N = d₀ × 16ⁿ + d₁ × 16ⁿ⁻¹ + … + dₙ

Trong chế độ Số nguyên thập phân, công cụ nhận số nguyên thập phân không âm dài tối đa 256 chữ số và tạo giá trị thập lục phân thô viết hoa mà không phụ thuộc vào giới hạn số nguyên có độ rộng cố định của PHP. Sau đó, công cụ kiểm tra quy ước đọc cổ điển: 0 → O, 1 → I, còn A–F giữ nguyên. Bất kỳ chữ số thô nào từ 2 đến 9 đều khiến cách đọc cổ điển không hợp lệ. Ví dụ, 12648430 thành C0FFEE, đọc như COFFEE; 4919 thành 1337 và không thể đọc theo quy tắc nghiêm ngặt này.

Chế độ Cụm từ Latin trả lời một câu hỏi khác: cụm từ có thể biểu diễn bằng hình dạng ký tự thập lục phân không? Chế độ Chính xác chỉ nhận A–F và chữ số nguyên dạng. Chế độ Thận trọng bổ sung O → 0, I hoặc L → 1, S → 5, T → 7G → 6. Các phép thay thế được cố ý giới hạn. Ký tự không hỗ trợ luôn được liệt kê, không bị xóa; chỉ có thể định dạng đầu ra khi toàn bộ cụm từ hợp lệ.

Dữ liệu vào và chế độ Xử lý Kết quả
3735928559 ở chế độ thập phân Đổi cơ số 10 sang cơ số 16 DEADBEEF
3405691582 ở chế độ thập phân Đổi cơ số 10 sang cơ số 16 CAFEBABE
COFFEE ở chế độ cụm từ thận trọng O → 0 C0FFEE
BAD FOOD ở chế độ cụm từ thận trọng O → 0; chọn đầu ra liền BADF00D

Các token như DEADBEEF, CAFEBABE, BADF00DC0FFEE dễ nhớ vì trông giống từ nhưng vẫn là giá trị thập lục phân hợp lệ. Một ví dụ thực tế có tài liệu là 0xCAFEBABE: Java Virtual Machine Specification quy định đây là magic number ở đầu tệp lớp Java. Tuy nhiên, một giá trị trông thú vị chưa chắc là tiêu chuẩn hay mã định danh an toàn; hãy kiểm tra yêu cầu và độ rộng trường của hệ thống đích.

Hexspeak không phải chuyển văn bản sang HEX

Bộ mã hóa văn bản sang HEX chuyển các byte đã mã hóa: UTF-8 Coffee trở thành 43 6F 66 66 65 65 và có thể giải mã khi biết bảng mã. Hexspeak lại tạo một từ trực quan từ tập ký tự hạn chế. Các phép thay O → 0I/L → 1 mơ hồ, nên không thể đảo ngược việc cách điệu cụm từ. Hexspeak cũng hẹp hơn leetspeak, vốn có thể dùng nhiều ký tự không phải chữ số thập lục phân.

Dữ liệu vào tối đa 256 ký tự và cụm từ tối đa 32 từ. Chế độ cụm từ chỉ hỗ trợ chữ Latin ASCII không dấu, chữ số và dấu cách; hãy chuyển tự các hệ chữ khác và bỏ dấu trước khi kiểm tra. Giá trị được máy chủ của chúng tôi xử lý và cũng có thể xuất hiện trong URL của luồng nhiều bước, vì vậy đừng nhập mật khẩu, thông tin xác thực hoặc mã định danh riêng tư.

Nguồn: NIST về ký pháp thập lục phân và chữ số bốn bit · Java Virtual Machine Specification, magic của tệp lớp

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

Hexspeak là cách chọn hoặc đọc giá trị thập lục phân sao cho các chữ số trông giống từ Latin. Ví dụ nghiêm ngặt chỉ dùng A–F và chữ số; một số quy ước đọc vài chữ số như chữ cái. Không có một chuẩn thay thế phổ quát duy nhất, nên công cụ này công bố chính xác các quy tắc thay vì coi phỏng đoán là quy tắc chuẩn.

Công cụ đổi số nguyên thập phân không âm dài tối đa 256 chữ số sang cơ số 16 viết hoa mà không phụ thuộc vào giới hạn số nguyên có độ rộng cố định của PHP. A–F được giữ nguyên, 0 đọc là O và 1 đọc là I. Nếu kết quả thô có chữ số từ 2 đến 9, cách đọc cổ điển nghiêm ngặt bị đánh dấu không hợp lệ.

Chế độ Chính xác chỉ nhận A–F và chữ số nguyên dạng. Chế độ Thận trọng cho phép thêm sáu phép thay trực quan đã công bố: O → 0, I/L → 1, S → 5, T → 7 và G → 6. Công cụ không tự tạo các phép thay leetspeak rộng hơn, và mọi ký tự không hỗ trợ vẫn hiện trong báo cáo.

Ở chế độ Thận trọng, hai chữ O có thể thành số không, còn C, F và E vốn là chữ thập lục phân. HELLO vẫn chứa H không có ký tự thay thế thận trọng, nên công cụ báo H là không hỗ trợ thay vì xóa nó và trả về kết quả thiếu gây hiểu lầm.

Có, sau khi mọi token đều hợp lệ. Bạn có thể chọn chữ hoa hoặc thường, token thô hoặc tiền tố 0x cho từng token, và đầu ra có khoảng trắng hoặc liền nhau. Dạng liền xóa ranh giới từ, vì vậy nên giữ khoảng trắng khi cần dễ đọc.

Không. O và số không có cùng hình dạng, còn I và L đều có thể thành một, nên không phải lúc nào cũng khôi phục được cụm từ gốc. Hãy dùng bộ mã hóa văn bản sang HEX hoặc byte khi cần biểu diễn dữ liệu có thể đảo ngược.

Đừng coi dữ liệu chỉ nằm trong trình duyệt. Công cụ dùng máy chủ nên giá trị được gửi đến máy chủ ứng dụng để xử lý, và luồng nhiều bước có thể đặt chúng trong URL. Tránh nhập mật khẩu, khóa API, mã định danh bí mật hoặc dữ liệu nhạy cảm khác.

Công cụ liên quan

Công cụ này có phiên bản bằng các ngôn ngữ khác