XOR cipher (mã hóa XOR) là phương pháp mã hóa dữ liệu không thể phá vỡ bằng brute-force (thử khóa ngẫu nhiên).
Để triển khai: định nghĩa khóa mã hóa (ky tự ngẫu nhiên), thực hiện XOR tất cả ký tự chuỗi với khóa. Điều này mã hóa toàn bộ chuỗi.
Ví dụ minh họa mã hóa
#include <iostream>
#include <string.h>
using namespace std;
void XORChiper(char originalString[]) {
char xorKey = 'T';
int len = strlen(originalString);
for (int i = 0; i < len; i++) {
originalString[i] = originalString[i] ^ xorKey;
cout << originalString[i];
}
}
int main() {
char sampleString[] = "Hello!";
cout << "Chuỗi gốc: " << sampleString << endl;
cout << "Chuỗi mã hóa: ";
XORChiper(sampleString);
return 0;
}
Kết quả
Chuỗi gốc: Hello!
Chuỗi mã hóa: 188;u
Lưu ý: Để giải mã, chỉ cần XOR lại chuỗi đã mã hóa với cùng khóa.