我正在使用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;
}
你壓痕可以改善;例如:第一個fopen/fclose處於不同的縮進處,第二個處於相同的縮進處... – pmg 2011-12-21 15:58:15
只是旁註:最好檢查'argc'並確保您有足夠的參數來處理 – 2011-12-21 15:59:39
'return 0;'通常用於指示操作系統的成功; '返回1;'可能表示失敗。您可能想要查看您的返回值。 – pmg 2011-12-21 16:00:40