毕业设计(论文)-浅论信息隐藏工具的原理和实现_第1页
毕业设计(论文)-浅论信息隐藏工具的原理和实现_第2页
毕业设计(论文)-浅论信息隐藏工具的原理和实现_第3页
毕业设计(论文)-浅论信息隐藏工具的原理和实现_第4页
毕业设计(论文)-浅论信息隐藏工具的原理和实现_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浅论信息隐藏工具的原理和实现摘要随着信息技术的发展,信息安全问题越来越受到人们的重视。信息隐藏技术 是一门将秘密信息隐藏在非秘密信息(例如音频、视频、静止图像以及文本)当 中,从而不引起人们对信息隐藏载体的感知的改变。近几年,信息隐藏技术的发 展迅猛,人们提出了许多信息隐藏的方法和算法。现在信息隐藏技术已经广泛的 应用于多媒休信息的版权保护及信息安全等领域。该隐藏工具的设计思路是将一 段需要隐藏的信息用一套加密算法加密后形成密文,放入到一个文件或者图片的 一段代码中,在不彩响该文件或图片使用的情况下,使得他人看不到我放入的密 文,从而实现对信息的隐藏。本毕业设计的相关要求:用vc+ 6.0做一

2、个工具, 这个工具的作用就是将输入的信息使用一套算法加密,然后保存到一副图片中 去,并且该图片仍然能够正常观看,达到信息隐藏的h的。信息隐藏技术;加密;解密;鲁棒性the design and development of tool which can hideinformationabstractwith development of the information technology, information security issues are attracting increasing attendon. information hiding technology can hide

3、 secret information in the non-secret information (such as audio, video, static graphics and text) thus people will have no sense with the change about the information hiding carrier. in recent years, information hiding technology has a high speed development, people proposes many information hiding

4、 method and algorithm. now information hiding technology has already had widespread application in multimedia information copyright protection and information security etc. the design of the hidden tools is a need to use a hidden message encryption algorithm encrypted form dense text to a file or in

5、to a code without influence the file or picture. so as to let other people can't see the confidential document. thus the information has been hidden.the relevant demand of the graduated design: using the vc+ 6.0 to make a tool, the function of the tool is that set up a password for the inputted

6、information by a kind of arithmetic. then the information be kept into a picture and the picture still can be seen normally. at last, the information has been hidden.key words: information hiding; encryption; decryption; robustness论文总页数:22页1 引言51. 1课题背呆51.2 国内外研究现状51.3 木课题研究的意义51.4 本课题的研究方法62 信息隐藏技术

7、62. 1信息隐藏技术的基本概念62. 1. 1典型信息隐藏系统62. 1.2信息隐藏的分类72. 1.3信息隐藏技术的特性92.2 数字水卬评估方法92. 2. 1典型的攻击测评方法102.2.2 常用的失真度检测方法102. 3信息隐藏技术的主要应用113 工具的设计与开发123. 1设计思路与规划123. 1. 1目的123. 1.2步骤规划123.2 软件主要功能133.3 流程图及界而133. 3. 1数据加密流程133.3.2 数据解密流程133.3.3 删除加密数据流程133.4 主要功能代码143.4. 1加解密原理143.4.2 加密代码实现153.4.3 解密代码实现153

8、. 4. 4删除加密信息代码实现163. 4. 5查找加密信息头、尾的代码实现193. 5工具开发过程屮的难点与问题21结 论22参考文献221引言11课题背景随着计算机和通信网技术的发展与普及,数字咅像制品以及其他电子出版物 的传播和交易变得越來越便捷,但随z而來的侵权盗版活动也呈日益狛獗z势。 为了打击盗版犯罪,一方面要通过立法来加强对知识产权的保护,另一方面必须 要有先进的技术手段來保障法律的实施。信息隐藏技术以其特有的优势,引起了人们的好奇和关注。人们首先想到的就是在数字产品屮藏入版权信息和产品序列 号,某件数字产品中的版权信息表示版权的所有者,它可以作为侵权诉讼中的证 据,而为每件产

9、品编配的唯一产品序列号可以用来识别购买者,从而为追查盗版 者提供线索。此外,保密通信、电子商务以及国家安全等方面的应用需求也推动了信息隐藏研究工作的开展。1.2 3内外研究现状“计算机网络是现代密码学的母亲,rfdlntcrnct就是现代信息隐藏技术的母亲。”世界上第一台通用电子计算机诞生于1945年,20世纪70年代计算机 网络的兴起掀起现代密码学的研究热潮,并使密码学发展成为一门相对成熟的学 科。随着20世纪90年代internet的迅速发展,多媒体技术的逐渐成熟和电子 商务的兴起,网上多媒体信息急剧增加。如果没有网络,信息技术绝不会有如此 迅速的发展,而网络的开放性和资源共享使得网络信息

10、安全问题日益重耍。这就 迫切需要有效地保护数字产品版权的手段,这种需要正是数字水印技术研究的推 动力。13本课题研究的意义多媒体数据的数字化为多媒体信息的存取提供了极大的便利,同时也极大地 提高了信息表达的效率和准确性。由于数字化信息以多种形式在网络上迅速地传 输,政府、企业及个人都逐渐把网络作为主要的通信手段,人们如今可以通过网 络发布自己的作品、重要信息、文件和进行网络贸易等,其发布形式也愈加丰富。 但是随之出现的问题也十分严重,作品侵权更加容易,篡改也更加方便。因此, 网络与信息安全问题变得越来越重耍。随着信息技术的发展与应用的不断地深入,信息安全的内涵也在不断延伸, 现有的计算机网络大

11、多数在建立z初都忽略了安全问题,即使考虑了安全问题, 也只是把安全机制建立在孤立安全机制上,因此,随着网络的互连程度的夸大, 这种安全机制对于网络环境来说形同虚设。另外网络上使用的协议,比如tcp/ip 协议,在制定之初也没有把安全考虑在内。开放性和资源共享是计算机网络安全 问题的主要来源,它的安全性主要依赖于加密、网络用户身份鉴别、存取控制策 略等技术手段。长期以来,人们一直研究以现代密码学(cryptography)为核心 的信息安全技术,其具有深刻的研究内容和广泛的应用背景。14本课题的研究方法首先用vc+ 6.0做一个工具,这个工具的作用就是将输入的信息使用一套 算法加密,然后保存到一

12、副图片小去,并且该图片仍然能够正常观看,达到信息 隐藏的冃的。在设计中以需求分析为基础,写出系统开发计划、实现流程及相关 问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文扌当,为后 面的毕业论文的写作准备材料;最后,系统开发完毕后,进行调试和试运行,做 好调试和试运行的相关记录,也为后面的毕业论文的写作准备材料。2信息隐藏技术2. 1信息隐藏技术的基本概念20世纪90年代早期,信息隐藏的各种应用引起不同研究团体的关注和重 视。1996年5月第一次国际信息隐藏学术研讨会在英国剑桥的召开,使这些独 立的研究团体走到一起,从而在信息隐藏的一些基本概念和术语上达成共识。信 息隐藏(有时也

13、称数据隐藏)。从广义上看,信息隐藏有多种含义:一是信息不 可见,二是信息的存在性隐蔽,三是信息的接收方和发送方隐蔽,四是传输的信 道隐蔽。信息隐藏就是将保密信息隐藏于另一非保密载体屮,以不引起检查者的 注意。这里的载体可以使是图像、视频、音频,也可以是信道,甚至是某套编码 体制或整个系统。广义上的信息隐藏技术包括隐写术、数字水卬、数字指纹、隐 蔽信道、低截获概率通信和匿名信道等等。从狭义上看,信息隐藏就是将某一机 密信息秘密隐藏于另一公开的信息中,然后通过公开信息的传输来传递机密信 息。狭义上的信息隐藏技术通常指隐写术与数字水印(以及数字指纹)。信息隐藏的基木原理是通过隐蔽性来实现安全性。如果

14、攻击者根木就察觉不 到隐蔽信息的存在,自然也就无从攻击。2.1.1典型信息隐藏系统戏体对徐图1系统结构它主要由下述四部分组成:信息嵌入,ii卩利用嵌入密钥來实现嵌入对象的 隐藏过程。信息提取,即利用提取密钥从隐藏对象或可能经过修改的隐藏对彖 中提取或恢复出嵌入对象。在提取时,原始的载体对象可能需要参与也可能不需 要参与。密钥生成,根据一些安全参数生成嵌入密钥和提取密钥。隐藏分析, 隐藏对象可能会被隐藏分析者截获并进行处理。在密钥未知的前提下,隐藏分析 者很难从隐藏对象中得到、删除或者发现嵌入对彖。2.1.2信息隐藏的分类信息隐藏学是一门新兴的交叉学科,在计算机、通信、保密学等领域有着广 阔的应

15、用前景。其研究涉及密码学、图像处理、模式识别、数学和计算机科学等 领域。按隐藏技术的应用目的和载体对象不同,信息隐藏可分为许多分支领域。图2信息分类隐写术隐写术是那些进行秘密通信技术的总称,通常把秘密信息嵌入或隐藏在其他 不受怀疑的数据中。伪装方法通常依赖于第三方不知道隐蔽通信存在的假设,而 月主要用于互相信任的双方点到点的秘密通信。因此,隐写术一般无稳健性。例 如:在数据改动后隐藏的信息不能被恢复。技术隐写术有多种分类方法,口前主 流的分类方法有三类,分別按照隐写系统结构、隐写空间、载体对彖类型进行分 类。”隐贋安全i伪装按炙现原理隐裁嵌入位置i扩散嵌入信息特殊环境下的隐写术r符号码隐写术严

16、义隐写术t隐语虚字密码i崖隐写术按隐做思想分(按隐写系统结构分密钥隐写术公钥隐写术jr信道隐写术技术隐笃术q按隐写空间分时空域隐药术变换域隐写术文本隐写术ir语音隐写术按截体对象珅用像隐写术视频隐写术j二进制流隐写术图3隐写术分类数字水卬(包扌舌数字指纹)数字水cp (digital watermarking)技术源于信息伪装,主要是指将特定的信 息(如认证、注释、版权等)隐藏在数字化宿主信息(如文本、数字化的声音、图 像、视频信号等)中。数字水印技术为电子数据的版权保护提供了一个潜在的有 效手段,引起了国际学术界与金业界的广泛关注,它己经成为日前国际学术界研 究的一个前沿热门方向。隐蔽信道在

17、多级安全水平的系统环境中(比如,军事计算机系统),那些既不是专门设 计的也不打算用来传输消息的通信路径称为隐蔽信道。这些信道在为某一程序提 供服务时,可以被一个不可信赖的程序用來向它们的操纵者泄密消息。匿名通信匿名通信就是寻找各种途径来隐藏通信消息的主体,即消息的发送者和接收 者。根据谁被“匿名”(发送者、接收者,或两者),匿名通信又分为几种不同的 类型。web应用强调接收者的匿名性,而电子邮件用户更关心发送者的匿名性。阀下信道阀下信道也叫潜信道,它是指在公开信道屮所建立的一种实现隐蔽通信的信 道。密码协议中的阀下信道是指被用来传输秘密消息的各种编码体制和密码协议 中所采取的数学结构。低截获概

18、率信道在现代战争屮,即使内容已被加密,敌人也会从发现一个信号而迅速发起对 发送者的攻击。因此,截获和反截获是机要通信战线上的重要斗争之一。低截获 概率通信,顾名思义就是信号被截获的概率降低的通信技术,其载体对象是整个 通信频带。它主要包括扩展频谱通信技术和流星猝发通信技术。2.1.3信息隐藏技术的特性信息隐藏不同于传统的加密,因为其冃的不在于限制正常的资料存取,而在 于保证隐藏数据不被侵犯和发现。因此,信息隐藏技术必须考虑止常的信息操作 所造成的威胁,即要使机密资料对正常的数据操作具有免疫能力。这种免疫能力 的关键是要使隐蔽信息部分不易被止常的数据操作(如通常的信号变换操作或数 据压缩)所破坏

19、。根据信息隐藏的不同口的和技术要求,该技术存在以下特性或 要求:透明性或不可感知性:利用人类视觉系统或人类听觉系统属性,经过一系 列隐藏处理,使隐藏对象没有明显的降质现象,而嵌入对彖却无法人为地看见或 听见。当然,极个别应用场合可能需要使用可见水印。鲁棒性:指不因隐藏对彖通过某种常用信号处理操作而导致嵌入对象丢失 的能力。这里的信号处理操作包括滤波操作、有损压缩、打印、扫描、儿何变换、 d/a或a/d转换等等。安全性:指隐藏算法有较强的抗恶意攻击能力,即它必须能够承受一定程 度的人为攻击,而使嵌入对象不被破坏。此外,与信息加密一样,信息隐技术最 终也需要把对信息的保护转化为对密钥的保护。因此,

20、密码学屮对密钥的基本要 求也适用于信息隐藏技术,如必须有足够大的密钥空间等。在设计一个信息隐藏 系统时,密钥的产生、发放、管理等也必须综合考虑。不可检测性:指隐藏对象与载体对象需具有一致的特性,如具有一致的统 计噪声分布等,以便使隐藏分析者无法判断对象中是否藏有嵌入对象。(5)6恢复性:经过一些操作或变换后,可能会使隐藏对象产生较人的破坏。 如果只从留下的片断数据,仍能恢复嵌入信号,而且恢复过程不需要载体信号, 这就是所谓的自恢复性。当然不是所有场合都需要白恢复性。嵌入强度(信息量):载体中应能隐藏尽可能多的信息。事实上,如果理 想地假设隐藏载体不会受到任何扰动,那么人们可在载体屮隐藏任意多的

21、各种不 同的信息而不被察觉。当然,在保证不可感知的条件厂 隐藏的信息越多,鲁棒 性越差。因此,在具体的隐藏系统屮通常都会涉及到不可感知性、鲁棒性和嵌入 强度三者之间的折屮。2. 2数字水印评估方法对于水印的稳健性,日前出现了许多专门测评水印质量的攻击软件,如剑桥 大学开发的stirmark软件就是一个典型的数字水印测试系统。该测试软件可以 采用软件方法产生前面所述的多种水印攻击行为,从而在水印载体图像屮引入一 定的误差,但人们可以以水印检测器能否从遭受攻击的水印载体屮提取或检测出 水印信息来评定水印算法抗攻击的力。2. 2.1典型的攻击测评方法目前,在信息隐藏攻击方法中大多是针对数字水卬技术的

22、,因为数字水卬往 往对鲁棒性要求比较高,所以从另一个方面来说就是要求它具有抗攻击的能力, 这样研究人员对数字水印的攻击方法也就研究得比较多。信息隐藏经常遇到的攻 击方法有:(1)图像的压缩图像压缩算法是指去掉图像信息屮的兀余量。水印的不可见性耍求水印信息 驻留于图像不重要的视觉信息中,即以弱信号的形式嵌入到强背景中,通常为图 像的髙频分量。而一般图像的主要能量均集小于低频分量上。滤波检验图像中的水印是否具有低通特性,即低通滤波(如均值滤波和屮值滤波) 无法除去图像屮的水印。(3)图像量化和图像増强一些常规的图像操作,如图像在不同灰度级上的量化、亮度与对比度的变化、 直方图修正与均衡26,均不应

23、对水印的提取和检测有严重影响。(4)儿何失真几何失真包括图像尺寸大小变化、水平翻转、旋转、剪切、删除或増加图像 线条以及反射等。很多水印算法对这些儿何操作都非常脆弱,容易被去掉。因此 研究水印在图像儿何失真的稳健性也是人们关注的。锐化它是图像处理软件的标准功能。当一些软件进行水印嵌入时,引入了高频噪 声,使用锐化攻击是非常有效的。更灵活的攻击是基于拉普拉斯算子方法进行攻2. 2.2常用的失真度检测方法h前常用的图像质量测试的方法是基于图像像素亮度值的。基于像素的失真 度量方法属于定量量测方法,用它得到的结果不依赖于主观评价,它允许在不同 的方法z间进行公平的比较。(d相关系数以相关系数(nor

24、malized cross-correlation, nc) 29來表征水卬im入前后 图像的相似性,计算公式如下:图4相关系数公式(2) 信噪比信噪比(signal-to-noise ratio, snr) 30,即将信号的强度与噪声的强 度做比较,单位为分贝(db),计算公式如下:snr =2 (厶- x丿)2x.y图5信噪比公式(3) 峰值信噪比峰值信噪比(peak signal-to-noise ratio, psnr) 30,单位为分贝(db), 计算公式如下:atmaxz;r鼻psnr 二图6峰值信噪比公式上述公式中,y x 1 , , y x i 分别表示原图和水印图像中坐标为

25、(x, y)的一个像素点,x, y分别表示行和列的像素数忖。当然,一个可能成为 标准的数字水印系统必须能够抵御各式各样的攻击,上述的评测标准只是其中的 儿个方面,如信噪比和峰值信噪比这两种度量方法在人多数情况下可以较为准确 的反映出图像的视觉质量,可见数字水印的跨科学性质决定了其进展与相关学科 的发展密切相关。2.3信息隐藏技术的主要应用信息隐藏技术在实际屮的应用是多种多样的,最直接的应用就是机密通信。 在发信端,将待保护的信息隐藏到公开的信息中,再通过公开信道传给收信方。在收信端,根据事先约好的信息隐藏提取法从收到的信息屮提取机密信息。在信 息隐藏的应用领域冃前信息隐藏技术在信息安全的齐个领

26、域中所发挥的作用系 统地总结为:(1)军队和政府的一些特殊的情报机构,需要隐蔽的通讯手段。在这些部门 即使对要传输的秘密信息的内容进行加密,利用现代手段仍能够对这些敏感信号 进行检测并做出快速反击。基于此,军方通讯往往采用诸如发散谱调制或者大气 散射等传递技术,保证信号不易于被敌方发现或者干扰。(2)在网上交易中,交易双方的任何一方不能抵赖自己曾经做出的行为,也 不能否认曾经接收到对方的信息,这是交易系统中的一个重要环节。这可以使用 信息隐藏技术中水印技术,在交易体系的任何一方发送或接收信息时,将各自的 特征标记以水印的形式加入到传递的信息屮,这种水印应是不能被去除的,以达 到确认其行为的口的

27、。(3)在数字作品的版权保护方面的应用。版权保护是信息隐藏技术屮的水印 技术所试图解决的一个重要问题。(4)防伪商务活动中的各种票据的防伪也是信息隐藏技术可以用武z地。在 数字票据中隐藏的水印经过打印后仍然存在,可以通过再扫描冋数字形式,提取 防伪水卬,己证实票据的真实性。(5)数据的完整性:对于数据完整性的验证是要确认数据在网上传输或存储 过程中并没有被窜改。使用脆弱水印技术保护的媒体一旦被窜改就会破坏水印, 从而很容易被识别。3工具的设计与开发3. 1设计思路与规划3.1.1目的通过vc+6.0开发一个工具,能够将文本信息通过一套算法加密后,保存到 一个图片文件中去,并且该图片仍然能够正常

28、观看,达到信息隐藏的fl的。3. 1.2步鸟规划1. 首先进行需求分析,确定工具的主要功能及主要界面;2. 进行概要设计,明确工具的框架结构、工作流程,对主要涉及的技术进 行预研,明确需要用到的加密算法;3. 详细设计,并开始编码,实现主要功能模块;4. 完成相关功能后,对功能进行验证、测试;5修正问题,完善功能.32软件主要功能1. 能够对输入的字符吊数据进行加密,加密数据保存到被选择的图片文件 (或其它文件)中,图片文件能够正常观看;2. 能够将加了密的数据从加密文件中解析出來,数据正确;3. 能够将加密数据从加密文件屮删除,使原来的文件恢复.3. 3流程图及界面3. 3.1数据加密流程1

29、. 首先输入待加密的数据;2. 选择寄主文件,并以可写方式打开文件;3. 将数据通过加密算法编码;4. 将编码后的数据写入到打开的文件末尾,保存文件.图7数据加'密流程图3. 3.2数据解密流程1. 首先选择含有加密数据的文件;2. 以只读的方式打开文件,读取数据并解析,查找加密数据;3. 如果找到加密数据,进行解密,将数据显示在界面上,关闭加密文件;4. 如果未找到加密数据,提示用户,选择的文件中没有加密数据.选择文件找到加密信息a解密数据,显示数据没冇加密信息关闭文件,提示没 冇加密数据图8数据解密流程图3. 3.3删除加密数据流程1. 选择含有加密数据的文件;2. 以读写方式打开

30、文件,读取数据并解析,查找加密数据;3. 如果找到加密数据,记录加密数据的位置;4. 将原始文件数据写入到一个新建文件中,并保存;5. 将加密文件删除,将新保存的文件改回原文件名;6. 如果未找到加密数据,提示用户,选择的文件中没有加密数据.图9删除加密数据流程图3.4主要功能代码3. 4.1加解密原理加密后的文件kii密码头+加密数据+密码尾图10加密原理图加密信息头、尾:由两个长度为6的数组构成,取值口定义。/加密信息头、尾unsigned char idcode_start = 0x01, 0x02, 0x03, oxfd, oxfe, oxff; unsigned char idcod

31、e_end二oxff, oxfe, oxfd, 0x03, 0x02, 0x01;加解密算法:加密算法采用异或法,将信息的每一个byte依次与自定义的数组计算出来的值进行异或。加解密采用同一个函数,执行两次函数,即可还原信息。* encode_invert*将信息加密或解密unsigned char* encode_invert(unsigned char* source, int len)unsigned char astrecodemaxctpherdata = 0;const unsigned char i userkey5 = oxab, oxbc, oxcd, oxde, oxef

32、;/异或数组if (len > 0)for (int i二1; iulen; i+)astrecodeit二 sourccit亠(i+i_userkcyi%5);i'eturn &astrecode 0;3.4.2加密代码实现3. 4.3解密代码实现if (file. domodalo = 1d0k)unsigned char* file_codcfordccipher = null;fi1ecodefordecipher=find idcode(file.getpathname(),&cipherdatalen);if(filecodefordecipher =

33、 null) decipherdata = 对不起,选择的文件屮没有经过本丁具加密过的信息! ;elsedecipherdatacncodc_invert(filc_codcfordcciphc cipherdatalen);cdecipherdlg:setdlgltemtext(idc_decipher_edit, decipher_data);3.4.4删除加密信息代码实现void cencryptiondlg:ondeldata()/ todo: add your control notification handler code here cfiledialog file(true);

34、if (file. domodalo = idok)cfile file decipher,file out; unsigned char bufmaxctpherdata*10 = 0; unsigned char* buf out;int readfilelens = 0;int tcmpnum = 0;int cipherdatalen = 0;int startnum 二 0, cipherstartnum = 0;/记录加密信息起始位置 cstring filepathname, filename, filepath;filepathname = file. getpathnameo

35、 ;f i 1 ename = fil e. getfilename ();filepath = filepathname. left (f订cpa.thname. gctlengtho - f i le. getfil ename (). getlengtho );file decipher. open(filepathname, cfile:modereadwrite);为防止程序死掉,不支持大于500m的文件 if (file_decipher. getlengtho > 500*1024*1024):messagebox (null, 不支持大于500m的文件,请重新选择!, 提

36、示信息,mb_0k | mb_ic0ninf0rmati0n);file_dccipher closco ;return;/查找加密信息的起始位置cipherstartnumwhile (1) readfilelens=fil edecipher. read(&buftempnum, maxctpherdatalo-tempnum);if(rcadfilclcns != maxcipherdata*10-tempnum)/文件己读完,直接查找密码头 buf_out 二 getciphercode2(buf, readfilelens+tempnum, &cipherdatale

37、n, &startnum);cipherstartnum +二 startnum;/如果文件比较大,经过一次以上的循环,起始位置需要减 去tempnum (tempnum为头尾的长度z和)if (cipherstartnum > maxcipherdata*10 - tempnum) cipherstartnum = cipherstartnum - tempnum;break;else/文件未读完,先按正常情况杳找头尾字符buf_out 二 getciphercode2(buf, readfileiens+tempnum, &cipherdatalen, &st

38、artnum);if (buf_out)cipherstartnum +二 startnum;break;for(int i=12;i>0;i-)/把最后12个未处理完的字移到下一次的缓冲头部 buf12-i = bufmaxcipherdata*10-i;tempnum = 12;cipherstartnum +二 readfilelens;continue;/end el seif (buf_out)filc_dccipher scektobcgin();/创建一个临时文件,将非加密信息的内容写到这个文件中,最 后保存,更名file_out. open(filepath+tempfi

39、le. bin: cfile:modecreate|cfile:modewrite);unsigned char buftemp1024 = 0;int readfilelenstemp 二 0;int pos二0;/当前文件读写位置while(l)if(cipherstartnum > (pos+1024)readfilelenstemp=filc_deciphcr. read(&buftemp, 1024);file_out. write(buftemp, readfilelenstemp); mcmsct (buftcmp, 0, 1024);pos = pos+1024;

40、file decipher closeo ;filc_out close ();/删除含令加密信息的文件dcletcfile(filcpathnamc);/将删除了加密信息的文件改冋原来的文件名 fi1e_out. rename("tempfi1e. bin", filename);:messagebox (null, 加密信息删除成功!,提示信息,mb_ok mb_tconinformatton);el sefile decipher. closeo ;:messagebox(null, 您选择的文件中没有包含加密信息!,提示信息,mb_ok | mb_iconinfor

41、mation);3. 4.5查找加密信息头、尾的代码实现/获取缓冲中的去头尾的加密数据,没找到则返冋null unsigned char* getciphercode(unsigned char databuf, int lens, int* datalen, int startnum) unsigned char buf_outmaxcipherdata*10二0;unsigned char* find idcode(cstring filename, int* cipherdatalen)cfile filc_dccipher;unsigned char bufmaxcipherdata*

42、10 = 0;unsigned char* buf_out;int readfilelens = 0;int tempnum = 0;int startnum = 0;/用丁记录加密信息的起始位置file_dcciphcr open(lpctstr)f订cname, cfile:modcread);while (1)readfilelens=file decipher. read(&buftempnum, maxcipherdata*10-tempnum);if(readf订elens != maxcipherdata*10-tempnum)/文件已读完,直接查找密码头buf_out二

43、 getciphercode (buf,readfilclcns+tempnum,&cipherdatalen, &startnum);file_dccipher. closeo ;return buf_out;elsei/文件未读完,先按正常情况查找头尾字符buf_out二 getciphercode(buf,readfilelens+tempnum,&ciphcrdatalcn, &startnum);if (buf out)return buf_out;elsefor(int i二12;i>0;i-)/把最后12个未处理完的字移到下一次的缓冲头部 buf12-i二 bufmaxcipherdata*10-i;tempnum 二 12;continue;/end elsefilc_dcciphcr. closco ;return null;/获取缓冲中的去头尾的加密数据,没找到则返回nu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论