#include#include#includeint dofile(char *in_fname,char *pwd,char *out_fname);/*對檔案進行加密的具體函式*/
//簡單檔案異或加解密。
//*** infile pwd outfile
int main(int argc,char *argv)/*定義main()函式的命令列引數*/
else
return dofile(in_fname,pwd,out_fname);
} /*加密子函式開始*/
int dofile(char *in_fname,char *pwd,char *out_file)
fp2=fopen(out_file,"wb");
if(fp2==null)
//獲取密碼長度
while(pwd[++j0]);
//printf("pwd_len=%d\n",j0);
ch=fgetc(fp1);
/*加密演算法開始*/
while(!feof(fp1))
fclose(fp1);/*關閉原始檔*/
fclose(fp2);/*關閉目標檔案*/
return 0;
}
#include #include #define normal_siz bufsiz
#define chmsk_key 0xa5
char buf[normal_siz];
hehe1.txt | cat hehe1.txt 執行一次加密或者解密
int main(int argc, char **argv)
fp= fopen(argv[1], "rb+");
if(fp==null)
while ((n = fread(buf, 1, normal_siz, fp)) > 0)
if (fseek(fp, -n, seek_cur) == -1)
n = fwrite(buf, 1, n, fp);
fflush(fp);//如果不加這句,那麼檔案大小如果小於庫函式緩衝(預設是bufsiz大小)時實際上面的寫操作並沒寫進去,從而導致下一次read還是成功,因此程式不會退出
buf[0] = 0;
} fclose(fp);
return 0;
}
#include #include #define dword unsigned long
#define byte unsigned char
#define false 0
#define true 1
int main(int argc, char *argv)
szsource=argv[1];
szdestination=argv[2];
hsource = fopen(szsource,"rb");// 開啟原始檔.
hdestination = fopen(szdestination,"wb"); //開啟目標檔案
if (hsource==null)
if (hdestination==null)
//分配緩衝區
pbbuffer=(char* )malloc(dwbufferlen);
do while(!feof(hsource));
//關閉檔案、釋放記憶體
fclose(hsource);
fclose(hdestination);
printf("%s is encrypted to %s\n",szsource,szdestination);
return 0;
}
C 檔案簡單加解密
include include includevoid encfile char in filename,char pwd,char out filename 對檔案進行加密的具體函式 void decryptfile char in filename,char pwd,char out filen...
C語言(檔案加解密)
在c語言,檔案主要分為文字檔案和二進位制檔案,因此主要是對這兩種檔案進行加解密。原檔案 加密對每乙個字元進行 異或運算 規則 1 1 0,0 0 0,1 0 1,0 1 1 同為0,不同為1 void crpypt char file path,char crpypt path 關閉 fclose ...
字串簡單加解密
對輸入的字串進行加解密,並輸出。加密方法為 當內容是英文本母時則用該英文本母的後乙個字母替換,同時字母變換大小寫,如字母a時則替換為b 字母z時則替換為a 當內容是數字時則把該數字加1,如0替換1,1替換2,9替換0 其他字元不做變化。解密方法為加密的逆過程。字串以 0結尾。字串最長100個字元。輸...