- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB下基于Windows平台的任意格式文件加密和解密程序.doc
VB下基于Windows平台的任意格式文件加密和解密程序 摘 要: 本文论述了以注册表为载体,对文件二进制读写,模块化设计,实现加解密程序。包括:引言、程序要求及实现目标、程序设计思路及方法、程序的主要实现代码、结论等内容。 关键词:注册表 文件二进制读写 模块化分组设计 中图分类号:TP309.7 文献标识码:A 文章编号:1003-9082(2015)07-0009-02 一、引言 信息社会,人们在享受信息资源利益的同时,也面临着信息安全的考验。信息安全已为世界性的问题,已威胁到国家各领域,同时,信息安全也是人们能否保护个人隐私的关键。也是社会稳定前提。解决方法是加密,所以加解密就显得重要。本文通过算法,保障信息安全,体现出数据价值。下面讨论对数据加解密,以及如何卸载程序。[1] 二、程序要求及实现目标 1.程序要求:运行效率没有要求,但对算法要求较高,即此算法是人工在有限时间内不可破解的。 2.实现目标:右键选中文件,经算法加密,或解密成原文件,供使用。达到方便快速目的。 三、程序设计思路及方法 1.程序思路:为了达到用户对程序的要求,该程序应选用合理的算法,设计好注册表参数,设计一个显示进度条,显示文件进度。还应有一个卸载程序,不需时卸载,需时再安装。 2.设计方法:采用“右键选中获取路径”的方式,一步操作就能获取路径。此功能要读写注册表。读注册表获取状态,决定是初始化还是已安装。如果未安装则启动初始化,若已安装则提示右键执行。会显示进度条,看执行百分比。用算法对文件读写,有两法。第一:大于或等于100KB的文件,用限制字节异或方法,能以最短时间执行,第二:小于100KB的文件,对所有数据异或和算术运算。还实现一个卸载程序,卸载时输入密码,保证完整性安全性。[2] 四、程序的主要实现代码 加解密是两个同算法互逆过程。用此算法加密的文件就一定也能用同样的算法解密。输入初始密码,此密码用于以后每次加解密时身份验证,最好用“数字+字母+特殊字符”的形式,牢记此密码。 代码如下: Setreg2 CreateObject(wscript.shell) IfStrComp(Label2.Caption, 请输入初始密码) 0Then reg2.regwriteHKEY_CLASSES_ROOT\AllFilesystemObjects\shell\文件加密和解密\command\password,PasswordEn(Text1.Text),REG_SZ Else IftrComp(reg2.regread(HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\文件加密和解密\command\password),PasswordEn(Text1.Text))Then MsgBox密码错误!无法加解密!,vbCritical,密码 EndIf lnglen Len(strPassword) Fori 1Tolnglen lngtemp ((Asc(Mid(strPassword,i,1))Xor(2*i))+(13*i)-4)Mod128 SelectCaselngtemp Case9,10 lngtemp 11 Case13 lngtemp 14 Case28To31 lngtemp 32 EndSelect strtemp strtempChr(lngtemp) Nexti PasswordEn strtemp 系统提示右键菜单创建成功,这时就可以使用右键对文件加密和解密了,而不需要再双击“文件加密和解密.exe”文件了。 代码如下: //注1 Setfol fso.GetFolder(str) ForEachfilInfol.Files FileEnDefil.Path CurrFileCount CurrFileCount+1 Form3.ProgressBar1.Value CurrFileCount Nextfil ForEachsubfolInfol.SubFolders DirEnDesubfol.Path Nextsubfol argvAddress GetCommandLine argvApp String(lstrlen(argvAddress)+1,0) lstrcpyargvApp,argvAddress cmd Command IfLen(cmd)Then S cmd Else argvApp Mid(argvApp,2,InStrRev(argvApp,)-2) FileCopyargvApp,GetFixDrive:\Mid(argvApp,InStrRev(argvApp,\)+1) EndIf 下面就分别以加密和解密单个文件、文件夹、大于等于100KB、
文档评论(0)