Очень простая программа шифрования - PullRequest
2 голосов
/ 21 декабря 2011

Я создаю очень простую программу шифрования, использующую XOR для шифрования файла пользователя и повторного его дешифрования. Однако происходит то, что когда я шифрую, я получаю длинную строку из тех же 6 букв, и когда я пытаюсь расшифровать, это не работает. Кто-нибудь может определить проблему? Кроме того, я захочу заменить XOR на мой собственный базовый метод шифрования, но сохранить тот же код, за исключением ключа. Будет ли это возможно? Спасибо!

#include <stdio.h>

int main(int argc, char*argv[])
{
FILE *fp1, *fp2;
char* key;
int c;

key = argv[1];

    if(*key != '\0')
    {
    fp1 = fopen(argv[2],"rb");
        if(fp1 != NULL)
        {
            fp2 = fopen(argv[3],"wb");
            if (fp2 != NULL)
            {
            while((c=getc(fp1)!=EOF))
            {
                if(!*key)key = argv[1];
                c ^=*(key++);

                putc(c, fp2);
            }
            fclose(fp2);
            }
        fclose(fp1);
        }
    }
return 1;
}

1 Ответ

11 голосов
/ 21 декабря 2011

Проверьте скобки: время должно быть

while((c=getc(fp1))!=EOF)
...