...
char text[256];
fgets(text, 255, stdin);
xorEncrypt(text, 'a');
...
void xorEncrypt(char *string, char key)
{
int i, string_length = strlen(string);
for(i=0; i<string_length; i++)
{
string[i]=string[i]^key;
}
printf("%s", string);
}
//user enters "test"
//result is: §♦↕§k (correct)
//user enters "abcdefg"
//result is empty
//user enters "testbca"
//result is "§♦↕§♥☻" (incorrect) and there is a beep sound
Когда я использую некоторые символы типа «a», «b», «c» в качестве ключа, он дает либо пустой результат, либо некоторые случайные знаки, но с использованием других букв, A ',' I '..., работает нормально, и я могу расшифровать его.Простое шифрование XOR дает неожиданные результаты
Вы можете показать, пожалуйста, полный автономный пример ввода и результата вывода ожидается/актуально? – 4pie0
Ваш код выглядит отлично, если вы не передадите _string-literal_ или любую другую константную строку. Пожалуйста, предоставьте [mcve] и сообщите, что вы вводите и ожидаете. – Olaf
Добавлена дополнительная информация и примеры. – Kidades