Я должен расшифровать сообщение (просто делая отдельные слова в данный момент) и превратить его обратно в правильное слово. У меня есть ключ шифрования (строка из 26 букв, где первая буква - это то, во что превращается A, вторая - во что превращается B, и т. Д.), Который мне нужно использовать, чтобы вернуться к исходному слову. По какой-то причине в моем коде нет ошибок, но он не декодируется, и через некоторое время он просто уничтожается серверами. Не знаю, почему он не будет правильно выполнять функцию расшифровки. Может ли кто-нибудь увидеть проблему с моим кодом, которую я не могу?
Я пробовал код на Eclipse Che, а также кодовую доску (я еще не учился в университете), и он нигде не будет работать. У меня есть рабочий кусок кода, который шифрует сообщение в основном таким же образом, но код дешифрования (который по сути то же самое, но в обратном направлении) просто не будет работать.
В моем коде словосочетание - это слово, которое должно быть расшифровано, алфавит - это алфавит (вроде бы очевидный), а encryptionKey - это строка, представляющая, во что превращается каждая буква алфавита.
char subdecrypt(char *phrase, char *encryptionKey);
char alphabetdecrypt(char *phrase, char x, char *encryptionKey);
int main()
{
char phrase[206]="NCPPQ NQYRBMY";
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
char encryptionKey[200]="QAZXSWEDCVFRTGBNHYUJMKILOP";
printf("The decryption is:\n");
subdecrypt(phrase, encryptionKey);
return 0;
}
char subdecrypt(char *phrase, char *encryptionKey)
{
char i=0, x=0;
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ ";
while(phrase[i] != 0)
{
while(phrase[i] != encryptionKey[x])
{
x++;
}
alphabetdecrypt(phrase, x, encryptionKey);
i++;
}
}
char alphabetdecrypt(char *phrase, char x, char *encryptionKey)
{
char alphabet[200]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
encryptionKey[x]=alphabet[x];
printf("%c", alphabet[x]);
}
Фраза, которая жестко закодирована с этим, должна быть расшифрована в ПИЦЦУ. Но вывод в настоящее время ничего, и код в конечном итоге убит.