C語言簡單的檔案加密

2021-06-21 06:16:18 字數 1984 閱讀 3972

昨天有個同事問我linux下有沒有什麼簡單的加密檔案的開源元件,找了一下沒找到,索性自己寫乙個,反正要求不高,能隱藏ascii碼的明文就ok了。

純屬娛樂:懶得文字描述如何加密的,一切看**,簡簡單單~

#include #include #include #include #include #include #include #include #include #define block 4*1024 // 4k

#define magic 0xff88aa99

#define debug 1

static int error=0; /* flag for error */

struct file_head

;void usage(char *name)

int my_encrypt(char *src, char *dest);

int my_decrypt(char *src, char *dest);

unsigned char create_secret()

int main(int argc, char **argv)

switch(*argv[1])

if(error)

return 0;

}int my_encrypt(char *src, char *dest)

; int ret_r=0,i,ret_w=0;

struct file_head head;

int rfd=-1,wfd=-1;

if((rfd = open(src,o_rdonly))<0)

if((wfd = open(dest,o_wronly | o_creat | o_excl , 0666)) <0 )

// fill the file head

head.magic = magic;

head.separate = create_secret()%88;

head.secret = create_secret();

if((ret_w=write(wfd, &head, sizeof(struct file_head))) != sizeof(struct file_head))

#ifdef debug

printf("head: magic=%x separate=%d secret=%x\n",head.magic, head.separate, head.secret);

#endif

// end

while((ret_r=read(rfd,buf,block)) > 0 )

if(wfd>0)

return 0;

}int my_decrypt(char *src, char *dest)

; int ret_r=0,i,ret_w=0;

struct file_head head;

int rfd=-1,wfd=-1;

if((rfd = open(src,o_rdonly))<0)

if((wfd = open(dest,o_wronly | o_creat | o_excl , 0666)) <0 )

if((ret_r=read(rfd, &head, sizeof(struct file_head))) != sizeof(struct file_head))

#ifdef debug

printf("head: magic=%x separate=%d secret=%x\n",head.magic, head.separate, head.secret);

#endif

if(head.magic!=magic|| head.separate <0 || head.separate >88 || head.secret<0)

while((ret_r=read(rfd,buf,block)) > 0 )

if(wfd>0)

return 0;

}

利用C 實現簡單的檔案加密

示例 中利用 異或操作 實現對檔案加密。首先,建立兩個 txt檔案,分別將其命名為 原檔案.txt key.text 原檔案.txt 為需要加密的檔案,key.text 為金鑰檔案,執行 後 原檔案.txt 被加密,再一次執行 原檔案.txt 會被解密。示例 include include incl...

C語言檔案的簡單儲存

最近在複習c語言,遂將以前的筆記整理,以供以後翻閱。這是實現檔案的讀入和檔案的寫出。基本步驟是 1.先判斷檔案是否可以開啟,2.進行檔案的讀入或者寫出,3.讀寫完畢,關閉檔案。a 如果沒有檔案,則會建立檔案,如果檔案存在,則會開啟檔案後在檔案末尾新增 w 如果沒有檔案,建立檔案,如果有檔案,則是將原...

C語言實現檔案的加密解密

閒來無事,隨手翻了翻桌面上的c語言教程,意外發現了這段 就上機玩弄了一番,感覺有點實用性,寫了點注釋分享給大家。若有理解不到位的地方,還請大家批評指正 include includeint main int argc,char ar 以讀二進位制檔案的方式開啟指定檔案 if fpr fopen ar...