Phép XOR (exclusive OR) là phép toán bit cơ bản trong nhiều thuật toán mật mã hiện đại (stream cipher, chế độ CTR/OFB của mã khối, one-time pad, ...). Với một byte khóa cố định K (0≤K≤255), bản mã của byte bản rõ Pi được tính bởi:
Ci=Pi⊕K
trong đó ⊕ là XOR theo từng bit. Hãy viết chương trình mã hóa toàn bộ một chuỗi bản rõ bằng phép XOR với một byte khóa duy nhất.
Ví dụ: với bản rõ "HI" và khóa 20 (hex): H=0x48,0x48⊕0x20=0x68= h; I=0x49,0x49⊕0x20=0x69= i. Bản mã dạng hex là 6869.
00-ff, có thể viết hoa hoặc thường).In ra một dòng duy nhất là bản mã dưới dạng chuỗi hex thường (0-9, a-f), mỗi byte biểu diễn bằng đúng 2 ký tự, viết liền không có dấu cách. Nếu bản rõ là chuỗi rỗng, in ra dòng trống.
Ví dụ:
Đầu vào:
Hello, World!
2A
Đầu ra:
624f464645060a7d4558464e0b
Đầu vào:
HI
20
Đầu ra:
6869
Đang tải editor...