Phép XOR (⊕) là phép toán nền tảng trong nhiều hệ mã hiện đại (one-time pad, stream cipher...). Cho bản rõ P và khóa K (K không rỗng). Mã hóa từng byte của P (theo mã UTF-8) bằng phép XOR với byte tương ứng của khóa, khóa được lặp lại tuần hoàn khi ngắn hơn bản rõ: nếu P có các byte P0,P1,…,Pn−1 và K có các byte K0,…,Kl−1 thì byte thứ i của bản mã là Ci=Pi⊕Kimodl. In bản mã dưới dạng chuỗi hex chữ thường, mỗi byte biểu diễn bằng đúng 2 ký tự hex, nối liền không có dấu phân cách.
Ví dụ: P= AB, K= K (mã ASCII: A=0x41, B=0x42, K=0x4B). 0x41⊕0x4B=0x0A, 0x42⊕0x4B=0x09, nên kết quả là 0a09.
Dòng 1: chuỗi P (có thể chứa khoảng trắng, có thể rỗng, đọc đến hết dòng). Dòng 2: chuỗi khóa K (không rỗng, không chứa khoảng trắng).
Một dòng chứa chuỗi hex chữ thường của bản mã (chuỗi rỗng nếu P rỗng).
Ví dụ:
Đầu vào:
K
Đầu ra:
Đầu vào:
AB
K
Đầu ra:
0a09
Đang tải editor...