网站大量收购独家精品文档,联系QQ:2885784924

用C语言实现对FOXPRO程序的加密.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C语言实现对FOXPRO程序的加密

用C语言实现对FOXPRO程序的加密 杨懂峰‘,王绍军2,谭学元3 1.深圳市城市交通规划研究中心, 518031;2.湖南华南光电仪器厂, 415105 3.北京科技大学信息工程学院, 100083) 摘要:文章提出了FOXPRO程序加密的一种实用方法,具有较高的安全性,能防 止程序被盗、拷贝·、破密。 关卜键词:FOXPRO;加密;解密;安全性 0 概述 利用 FO XPRO开发的管理系统必威体育官网网址性 较差。开发人员在开发完成应用程序之后,对 防止程序被盗、拷贝、破密等方面往往大费周 折。常规做法是在主程序或相关的程序中嵌 人口令识别程序,其方法固然可行,但对于有 一般计算机操作经验的人员来说,又显得软 弱无力。本文就利用C语言实现对FOXPRO 程序加密谈一谈看法。 当用 FO XPRO开发的程序运行正确 后,我们可利用FOXPRO本身提供的功能 统一进行编译,形成一个“EXE”文件,然后用 C语言对其文件进行全文加密。即用自己定 义的一组序列字符与文件进行加、减、与、或 操作,形成加密文件。 件,这样就达到了必威体育官网网址的目的。因而最后交给 用户的有三个文件。它们是解密文件、已进行 加密处理的文件、组装运行执行文件。各个应 用程序的原文件和调用方式如下所述: 加 密 :( 文件名是CCI.Z.C ) U de fi ne N ULL 0 #i nc lu de ( s tdio.h ) #i nc lu de( stdlib.h ) #i nc lud e(p rocess.h ) # inc lu de ( io.h ) static int DW[7]={8,5,9,1,3,8,6); //要 进 行 加密的自定义的序列 main(int argc.char`argv[]) {F ILE‘fp。’fl; if((fp =fopen(argv[1].rb))==NULL) //要 进 行 加密的原文件 igo toxy(20,8); printf(‘ 原文件不存在!加密不能进行,请退 1 加密方法 具体 的操 作方法如下: 首 先 ,把 FOXPRO的程序调试好,形成 FOXPRO 的“EXE”可执行文件(如 FOXB.EXE),然后对这个文件进行加密,变 为加密文件(FOXB.DAT),同时设置一个解 密程序(文件名为CCZI_.E XE) ,可以对已加 密的文件进行解密。再用C语言开发一个组 装运行程序,把我们的解密过程、程序执行过 程和删除解密程序的过程形成一个整体文 出?”): exit(0); if(f l= fopen(a rgv[2], wb))==NULL) 刀 加 密 后的文件 {gotoxy(20,8); printf(”形成新文件失败!不能工作请退出 ?,‘); exit (0); int k; char ch,c;k=o; while(!feof(f p)) {if(ki6)k=0: c= fgetc(f p) : //加密处理 、h =c + T)W[k]; 收稿日期:2的。一11---22 .34 . 《电脑与信息技术ii2001年第1期 fputc(ch_fl); fclose(f p);f c lose k十+; } (fl) ; } 调用方式:CCLZ FOXB.EXE FOXB.DAT FOXB.E XE:FOXPRO的执行文件 FOXB.D AT:加密后的文件 2 解密方法 解密:(文件名是:CCZ1..C #define NULL 0 #include (stdio. h ) #include (stdlib. h ) #include(p rocess.h ) # include (io. h ) static int DW[7]={8,5,9,1,3,8,6); 刀解 密 的 序 列 必须与加密序列相同 ma in(inta rgc,charargv[]) (FI LEfp ,‘fl; if(U p= fopen(a rgv[1] , rb))==NULL) //要 进 行 解 密 的数据文件 (go to xy (20.8); pri ntf “ 数据文件不存在卫加密不能进行,请 退 出 ? ”) ; exi t( 0 ) ; } if((f l=fopen(argv[2],wb))==NULL) 刀解 密 后 的 文 件 (go to xy (20,8); pri ntf ” 形成新文件失败I不能工作请退出 ?” ); ex it( O) ; 〕 int k ;charc h,c; k=o; while!feof(f p)) (if ( k)6)k=0; /解 密 处 理 过程正与加密过程相反 #include (io. h ) void WIN(int sx,int sy,int

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档