السلام عليكــم ورحمـة الله وبركاتــة ،،
من فتره وانا احاول ان اشفر ملف ولكن لم اوفق بذالك
الملف هو ملف لوج متحدث
المشكله كيف اشفر ملف متحدث من غير الرجوع من اول الملف وتشفيره مره ثانيه
بل البدء في التشفير من حيث وقف اخر مره
فهل ممكن ذالك عمليا
حاولت ان اصنع تشفير XOR
المشكله انه يشفر السطر الاول ..واذا اردت التشفير من جديد يجب ان تحذف الملف
فاين الخطاء ...واقتراحتكم
#define my_key "MY_K3Y"
void XorString(char * str, char * pass, char * result)
{
int y = 0, passSize = strlen(pass) > strlen(str) ? strlen(str) : strlen(pass);
while (*str)
*result++ = *str++ ^ *(pass + (y++ % passSize));
}
void xorFile(char *fName)
{
FILE *f = 0;
long fSize = 0;
char *nEnc = 0;
char *enc = 0;
if((f = fopen(fName, "r")) == 0)
return;
fseek(f, 0, SEEK_END);
fSize = ftell(f);
fseek(f, 0, SEEK_SET);
if((enc = (char*)calloc(1, fSize + 1)) == 0) {
fclose(f);
return;
}
if((nEnc = (char*)calloc(1, fSize + 1)) == 0) {
free(enc);
fclose(f);
return;
}
fread(enc, 1, fSize, f);
XorString(enc, my_key, nEnc);
fclose(f);
if((f = fopen(fName, "w")) == 0)
return;
fwrite(nEnc, 1, fSize, f);
free(nEnc);
free(enc);
fclose(f);
}