我在加密文件中的某些数据时遇到问题。我为此使用了简单的异或。假设我有这个结构:
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 ...