Доброго времени суток, господа. Сегодня на повестке дня у нас XOR - самый простой способ зашифровать текст. Я выбрал его для первого поста про шифрование информации так-как писать надо немного и код будет понятным для новичков.
Начнём:
#include <iostream>
#include <string>
using namespace std;
/* Функция для шифрования и дешифровки */
string XOR(string data, char key[])
{
/* Создаём новую переменную */
string xorstring = data;
/* Циклом перебираем все символы в строке и ксорим каждый отдельно */
for(int i = 0; i < int(xorstring.size()); i++) {
xorstring[i] = data[i] ^ key[i % ( sizeof(*key) / sizeof(char) )];
}
/* Возвращаем зашифрованную строку */
return xorstring;
}
int main()
{
/* Создаем ключ для шифрования */
char key[3] = {'K', 'E', 'Y'};
/* Создаём переменную которая будет содержать зашифрованный текст(в нашем случае Torchik_ru) */
/* В функцию передаётся сам текст, который надо преобразовать и ключ */
string dataE = XOR(string("Torchik_Ru"), key);
/* Создаём переменную которая будет содеражать расшифрованный текст */
string dataD = XOR(dataE, key);
/* Выводим оба значения в терминал */
cout << "Encrypted: " << dataE << endl;
cout << "Decrypted: " << dataD << endl;
return 0;
}
Компилим и запускаем:
g++ main.cpp -o xor
./xor
На выходе получаем желаемый результат.