私は、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は異なるインデントにあり、2番目のペアは同じインデントで... – pmg
ちょっとした注意: 'argc'をチェックし、十分な引数があることを確認して –
'return 0;'は通常、オペレーティングシステムの成功を示すために使われます。 'return 1;'はおそらく失敗を示します。戻り値を確認することができます。 – pmg