首页 电脑 电脑学堂 查看内容

编写一个加/解密程序

2007-8-4 14:28 608 0

摘要: 1。运行VC++6.0,"文件"--"新建",在工程下选择"win32 application","确定"后选择"a simple win32 application"完成. 2.双击"work s...
关键词: nbsp 文件 lpCmdLine stmpname MessageBox NULL 图片 return 成功 application

1。运行VC++6.0,"文件"--"新建",在工程下选择"win32 application","确定"后选择"a simple win32 application"完成. 2.双击"work space"中后缀为.cpp的文件,编写代码如下,注(程序自身已给出了一部分代码,补充完整就是了) // 17.cpp : Defines the entry point for the application. // #include "stdafx.h" #include "stdio.h" int APIENTRY WinMain(HINSTANCE hInstance,                      HINSTANCE hPrevInstance,                      LPSTR     lpCmdLine,                      int       nCmdShow) {   // TODO: Place code here.     if(!strlen(lpCmdLine))  {   MessageBox(NULL,"请先选择文件,把文件拖进来!","出错了!",MB_ICONINFORMATION);   return 0;  }  FILE *fp1,*fp2;  fp1=fopen(lpCmdLine,"rb");  if(fp1==NULL)  {MessageBox(NULL,"文件无法打开!","出错了!",MB_ICONERROR);  return 0; }  char stmpname[MAX_PATH];  strcpy(stmpname,lpCmdLine);  strcat(stmpname,".tmp");  fp2=fopen(stmpname,"wb");  if(fp2==NULL)  {   MessageBox(NULL,"文件无法写入!","出错了!",MB_ICONERROR);   return 0;  }  char c=fgetc(fp1);  char ch=0;  while(!feof(fp1))  {   ch=c^233;   fputc(ch,fp2);   c=fgetc(fp1);  }  fclose(fp1);  fclose(fp2);  if(!DeleteFile(lpCmdLine))  {   DeleteFile(stmpname);   MessageBox(NULL,"文件被占用!","出错了!",MB_ICONERROR);   return 0;  }  MoveFile(stmpname,lpCmdLine);  MessageBox(NULL,"加/解密已完成!","恭喜!",MB_ICONINFORMATION);  return 0; } 注意,17.cpp是我的文件名,将相关内容替换就是了。 3。如何用呢。 例如将一张hei.jpg的图片拖入编绎好的EXE文件,再运行一个这张图片,你会发现什么也没有了,图片被加密了,再将图片拖入EXE文件,然后再运运图片,显示正常,也就完成解密了。 直接双击运行会出错的! 图像原来的样子把图像拖进17.exe 后的成功提示,这里是加密成功了!! 再运行一下hei.jpg,提示"没有预揽",说明加密成功! 再将图片拖进17.exe,完成解密!! 再浏览一遍原图像. 有一个问题,就是我把它放在桌面上进行,它会提示文件无法打开的,但放在D盘又或者是其它盘却可以成功。
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部