非常基本的加密程序

ado*_*tyd 3 c encryption file-io xor

我正在使用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;
}
Run Code Online (Sandbox Code Playgroud)

pmg*_*pmg 12

检查你的括号:应该是

while((c=getc(fp1))!=EOF)
Run Code Online (Sandbox Code Playgroud)