www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]加密程序的自解密程序編寫

  為了保證自己的數(shù)據(jù)不被別人非法地竊取,有必要對數(shù)據(jù)文件進(jìn)行適當(dāng)?shù)?strong>加密。本程序采取一定的算法,對密碼和數(shù)據(jù)進(jìn)行加密,生成一個(gè)自解密的EXE文件。這個(gè)自解密文件是由兩部分組成的。第一部分為可執(zhí)行代碼部分,其作用是對密碼進(jìn)行判斷,對數(shù)據(jù)進(jìn)行解密;后一部分是被加過密的密碼和數(shù)據(jù)。

  本程序分兩個(gè)模塊進(jìn)行編寫。第一個(gè)是main.c,它是用來進(jìn)行加密,產(chǎn)生EXE文件的;第二個(gè)是main2.c,它是用來解密的。分別對它們進(jìn)行編譯生成main.exe和main2.exe,再對其進(jìn)行合并即可。

  合并方法如下:

  COPY /B main.EXE+main2.EXE Key.EXE(注意main.EXET和main2.EXE的順序)

  使用時(shí)請按下列格式鍵入。

  Key〈欲加密文件〉〈產(chǎn)生后的EXE文件名〉

  按提示輸入密碼后將生成指定的可執(zhí)行文件。解密時(shí)運(yùn)行這個(gè)可執(zhí)行文件。輸入密碼后(若輸入三次都不正確,將退出解密程序),即把原文件內(nèi)容還原到你指定的文件中。解密程序格式如下。

  可執(zhí)行文件名 (filename)

  源程序如下:

  第一個(gè)源代碼文件 main.c

  #include “stdio.h”

  main (int argc,char *argv[])

  {FILE *fp0, *fp1, *fp2;

  char ch,*password,I,str[10];password=str;

  if(argc!=3)

  {printf(“usage:key ");

  exit(0);

  }

  if((fp0=fopen(argv[0],“rb"))=NULL)

  {printf(“can`t open %s",argv[0]);

  exit(0)

  }

  if((fp1=fopen(argv[1],“r"))=NULL)

  {printf(“can`t open %s")argv[1]);

  exit(0);

  }

  if((fp2=fopen(argv[2],“wb"))=NULL)

  {printf(“can`t open %s",argv[2]);

  }

  password=(char *)getpass(“please input password:");

  fseek(fp0,1394OL,SEEK_SET);/* 13940是main.exe文件的長度,不同的工作環(huán)境會有不同的值。請以實(shí)際長度加以修改 */

  while(!feOf(fp0))

  fputc(fgetc(fp0),fp2);/*把main2.exe輸入fp2指定的文件中*/

  for(i=0;password[i]!=`10`;i++)

  {fputc((i+password[i])&I,fp2);/*將密碼加密后寫入文件*/

  }

  fputc(`10`,fp2), /*將“10”放入密碼后 */

  do{

  {for(i=0;password[i]!=`10`,i++

  {ch=fgetc(fp1) /*從欲加密文件讀一個(gè)字符*/

  if(feof(fp1))break;[!--empirenews.page--]

  ch=ch&password[i];

  ch+=I;

  ch=nch; /*將此字符同密碼i值進(jìn)行運(yùn)算后寫入fp2指定文件*/

  fputc(ch,fp2);

  }

  }While(!feof(fp1));

  fcloseal?;

  }

  第二個(gè)源代碼文件main2.c

  #include “stdio.h"

  #include “string.h"

  main(int argc,char *argv[])

  {FILE *FP0,*FP1;

  char *password,old password[10],str[10],ch,I;

  if(argc!=2)

  {printf(“Usage=%s",argv[0]);

  exit(o);

  }

  fseek(fp0,16888L,SEEK_SET); /*同理16888也視實(shí)際情況而定*/

  fgetc(fp0); /*讀掉一個(gè)無效字符*/

  for(i=0;(oldpassword[i]=fget((fp0))!=`10`;i++)

  Oldpassword[i]=(oldpassword[i]&i)-I; /*對密碼進(jìn)行還原*/

  oldpassword[i]=`10`; /*把“10”藏于密碼后 */

  password=(char *)getpass(“please input password:");

  for(i=0;I  {if(strcmp(password,oldpassword))

  {password=(ch *)getpass(“

  password is wrong.

  please input agai:");

  if(i==2)

  {printf(“

  press any Key to exit……

  ");

  getch();exit(o)

  }

  }

  }/*對密碼進(jìn)行判斷,有三次機(jī)會,都不正確則返回到操作系統(tǒng)*/

  do{

  for (i=0;password[i]!=`10`;i++)

  {ch=fgetc(fp0);

  if(feof(fp0))break;

  ch=nch;

  ch-=I;

  ch&=password[i];

  }

  }while(!feof(fp0);

  fcloseal?;

  {

  上述程序在COMPAQ 586.TC2.0集成環(huán)境里通過。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

近日,東航、南航、海航等多家航空公司宣布恢復(fù)并加密多條國際航線。10月17日,東方航空官宣,計(jì)劃于10月底恢復(fù)多條國際航線,包括上海—曼谷—青島、杭州/青島/南京/昆明—東京成田、青島...

關(guān)鍵字: 加密 MDASH

新加坡航空公司將于2022年10月11日開通成都往返新加坡(航班號:SQ843/SQ842)的客運(yùn)航班服務(wù),航班采用空客A350-900遠(yuǎn)程客機(jī)執(zhí)飛,每逢周二運(yùn)營。與此同時(shí),新航深圳往返新加坡(航班號:SQ847/SQ8...

關(guān)鍵字: 新加坡 加密

倫敦, Aug. 31, 2022 (GLOBE NEWSWIRE) -- Meco Limited(Mecobit)于2020年8月在香港科技局舉行的精英發(fā)布活動上發(fā)布了備受期待的終極太陽能發(fā)電系統(tǒng)(一套具有驚人備份和...

關(guān)鍵字: LIMIT 加密 太陽能 電力

青島2022年8月12日 /美通社/ -- 今天,DHL快遞宣布開通青島至韓國仁川的貨運(yùn)航線,轉(zhuǎn)運(yùn)效率將再提升。作為首批入駐膠東國際機(jī)場的國際物流企業(yè)之一,DHL快...

關(guān)鍵字: BSP VIEW 加密 加速度

(全球TMT2022年7月19日訊)亞馬遜云科技宣布,互聯(lián)汽車服務(wù)提供商WirelessCar(維瑞聯(lián)行)選擇亞馬遜云科技為首選云服務(wù)提供商。借助亞馬遜云科技覆蓋全球的基礎(chǔ)設(shè)施,以及存儲、數(shù)據(jù)庫、無服務(wù)器計(jì)算、安全、物...

關(guān)鍵字: WIRELESS 亞馬遜 云服務(wù) 加密

上海2022年7月12日 /美通社/ -- 今天,DHL北亞樞紐迎來投運(yùn)十周年紀(jì)念日。十年來,北亞樞紐已發(fā)展建設(shè)成為集航空貨運(yùn)站、快件處理中心、貨物中轉(zhuǎn)功能為一體的國際航空貨...

關(guān)鍵字: 供應(yīng)鏈 加密 數(shù)字化 照明

加密貨幣(英文:Cryptocurrency,常常用復(fù)數(shù)Cryptocurrencies,又譯密碼貨幣,密碼學(xué)貨幣)是一種使用密碼學(xué)原理來確保交易安全及控制交易單位創(chuàng)造的交易媒介。

關(guān)鍵字: 加密 貨幣 電子貨幣

廣州2022年6月19日 /美通社/ -- 今天上午,中外運(yùn)敦豪廣東分公司在位于廣州市越秀區(qū)海珠廣場的新辦公場所舉行了喬遷開業(yè)儀式。中外運(yùn)敦豪董事總經(jīng)理吳東明出席并為辦公室新...

關(guān)鍵字: BSP 供應(yīng)鏈 加密

北京2022年6月17日 /美通社/ -- 近期,IBM大中華區(qū)總經(jīng)理陳旭東接受資深科技記者李佳師專訪,報(bào)道原文如下: 今年三月,當(dāng)IBM宣布由陳旭東出任大中華區(qū)總經(jīng)理時(shí),...

關(guān)鍵字: IBM 解密 AI 互聯(lián)網(wǎng)

(全球TMT2022年6月17日訊)近期,IBM大中華區(qū)總經(jīng)理陳旭東接受資深科技記者李佳師專訪,報(bào)道原文如下: 今年三月,當(dāng)IBM宣布由陳旭東出任大中華區(qū)總經(jīng)理時(shí),至少引發(fā)外界三大疑問:第一,履歷背景為聯(lián)想集團(tuán)中...

關(guān)鍵字: IBM 解密 AI 互聯(lián)網(wǎng)

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉