ファイル内のデータの暗号化中に問題が発生しました。そのために単純な xor を使用しています。私はこの構造体を持っているとしましょう:
struct MyFile{
char fileName[128];
int account;
float balance;};
これをバイナリファイルとして保存すると正常に動作しますが、xor を使用して構造体のファイル名を暗号化し、構造体を hd に保存すると、構造体を読み取ってファイル名を復号化すると、文字が正しく表示されません。暗号化/復号化の目的でこの単純な関数を使用しています。
static void Codec(const char *key,int keySize,char* in,char *result,int length)
{
for(int i=0;i<length;i++)
result[i]=in[i]^key[i%keySize];
}
ファイル名を暗号化し、メモリ内で直接復号化すると、結果は正しいことに注意してください。ハードディスクに保存すると変更されるのはなぜですか。できるだけ早く返信し、事前にtnxしてください...