日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言异或加密函数,用异或算法实现文件的简单加密

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言异或加密函数,用异或算法实现文件的简单加密 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

給文件加密的技術很多,其中又分為不同等級,以適合不同場合的需要.這里給出最簡單的文件加密技術,即采用文件逐字節與密碼異或方式對

文件進行加密,當解密時,只需再運行一遍加密程序即可.

下面是一個實例程序,能對任意一個文件進行加密,密碼要求用戶輸入,限8位以內(當然你可以再更改).程序有很好的容錯設計,這是我們應該

學習的.

/*?Turbo?2.0?pass.?give?file?a?password!?*/

#include

#include

#include

#include

void?dofile(char?*in_fname,char?*pwd,char?*out_fname);/*對文件進行加密的具體函數*/

void?main(int?argc,char?*argv[])/*定義main()函數的命令行參數*/

{

char?in_fname[30];/*用戶輸入的要加密的文件名*/

char?out_fname[30];

char?pwd[8];/*用來保存密碼*/

if(argc!=4){/*容錯處理*/

printf("\nIn-fname:\n");

gets(in_fname);/*得到要加密的文件名*/

printf("Password:\n");

gets(pwd);/*得到密碼*/

printf("Out-file:\n");

gets(out_fname);/*得到加密后你要的文件名*/

dofile(in_fname,pwd,out_fname);

}

else{/*如果命令行參數正確,便直接運行程序*/

strcpy(in_fname,argv[1]);

strcpy(pwd,argv[2]);

strcpy(out_fname,argv[3]);

dofile(in_fname,pwd,out_fname);

}

}

/*加密子函數開始*/

void?dofile(char?*in_fname,char?*pwd,char?*out_file)

{

FILE?*fp1,*fp2;

register?char?ch;

int?j=0;

int?j0=0;

fp1=fopen(in_fname,"rb");

if(fp1==NULL){

printf("cannot?open?in-file.\n");

exit(1);/*如果不能打開要加密的文件,便退出程序*/

}

fp2=fopen(out_file,"wb");

if(fp2==NULL){

printf("cannot?open?or?create?out-file.\n");

exit(1);/*如果不能建立加密后的文件,便退出*/

}

while(pwd[++j0]);

ch=fgetc(fp1);

/*加密算法開始*/

while(!feof(fp1)){

fputc(ch^pwd[j>=j0?j=0:j++],fp2);/*異或后寫入fp2文件*/

ch=fgetc(fp1);

}

fclose(fp1);/*關閉源文件*/

fclose(fp2);/*關閉目標文件*/

}

/*程序結束*/

總結

以上是生活随笔為你收集整理的c语言异或加密函数,用异或算法实现文件的简单加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。