Цейсер-шифр не учитывает числа в шифровании. Как продлить его таким образом, чтобы он заменял каждую букву и число с номером, затем XOR каждый символ с ключом шифрования. Это код шифрования, который я написал до сих пор ... могу ли я знать, где я ошибаюсь .... вывод не является точным.Расширение расширителя цепей
string Encrypt (string s)
{
string cipher = s;
int size = s.length();
for(int i = 0; i < size ; i++)
{
if(isalpha(cipher[i]))
{
int x = static_cast<int>(cipher[i]) ; //changing to ascii code
if ((x >= 88 && x <= 90) || (x >= 120 && x <= 122))
x = x - 23;
else
x = x + 3;
cipher[i] = static_cast<char>(x); //changing back to ascii char
cipher[i] ^= 5; // XOR with 5
}
else if(isdigit(cipher[i]))
{
int x = static_cast<int>(cipher[i]) ;
cout << x ;
if (x >= 55 && x <= 57)
x = x - 7;
else
x = x + 3;
cipher[i] = static_cast<char>(x);
cipher[i] ^= 5;
}
}
return cipher ;
}
То, что вы описываете, больше не является цезарным шифром, так как оно реализовано полностью зависит от вас. – duskwuff
Есть много людей, которые уже решили эту задачу. Вы пытались найти их решения, например? выполнив простой поиск? –