文字的加密与解密_第1页
文字的加密与解密_第2页
文字的加密与解密_第3页
文字的加密与解密_第4页
全文预览已结束

下载本文档

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

文档简介

文字的加密与解密摘要每个字符的都有相应的ASCII码对应,给文字加密可利用增加或減少字符的ASCII值,产生一组新的文字,达到加密的效果。然后再制作解密程序还原出文字,使解密者知道文字的真实信息。关键词文字加密解密余则成打开收音机,接收来自上级的信息,用笔在纸上记下收音机讲述的代码,打开密码本,记下表述的内容,划燃火柴将纸销毁。此时,他已经知道接下的任务是什么了。这是近期热播电视连续剧潜伏中的一段经典镜头。上级将任务写好后,找出密码本,将其转换为代码,称之为加密;余则成通过从收音机中接收代码,用密码本查找对应文字,转换出文字信息,此为解密。在我们讲述算法与程序设计课程时,同学们问过我如何制作一个进行文字加密和解密的工具。于是我与同学进行了一节课的共同思考,决定采用如下ASCII的值改变来解决问题,过程为1、读入要加密的文本;2、将需加密的每个字符的ASCII表示出来,然后增加或减少相应ASCII的值,使每个字变成另一个字后输出,产生一批谁都不能理解的文字。3、交给信息接收者一段程序及加密后的文字,接收者通过解密程序将原文字解密。接下来我们就开始了程序设计制作的过程。一、加密程序的制作我们用VISUALBASIC60制作右图所示窗体这里TEXT1文本框中放入待加密的文字,TEXT2文本框中放入需偏移的位置,每个字可以不同,TEXT3文本框中产生加密后的文字。假如我们在文本框TEXT1中输入“余则成是好人”。加密的方法是将每个字的ASCII值减去一定的值,再将文字显示出来。这时出来的文字谁都不会理解它的意思了。开始我们考虑的程序如下PRIVATESUBCOMMAND1_CLICKDIMIASINTEGERJMWZTEXT1TEXTJLENJMWZ提取文字长度DIMJM100ASINTEGER建一个数据库将提取的每个字存入以下循环作用为将文字ASCII值減少5后显示出来FORI1TOJJMIASCMIDJMWZ,I,15给每个文字ASCII值减去5TTCHRJMINEXTITEXT3TEXTT将文字内容显示在TEXT3文本框中ENDSUB当然地,上述方法由于每个字的ASCII增加或減少的值是一样的,很容易被人找出规律来。这时我们可以给每个字符的ASCII值增加或减少不同的数值,这时,加密出来的文字就很难被找出规律来。我们增加一个联系码,由加密者提供给接收者,接收者通过程序将其还原出来。程序可被我们修改为PRIVATESUBCOMMAND1_CLICKDIMIASINTEGER,KASINTEGERJMWZTEXT1TEXTJLENJMWZADLENTEXT2TEXT取联系码字符串长度DIMJM100ASINTEGER建一个数据库将提取的每个字存入DIMAD100ASSTRING建一个数据库将联系码字符串的每个字符存入FORK1TOADADKMIDTEXT2TEXT,K,1NEXTK以下循环作用为将文字ASCII值減少一定数值后显示出来FORI1TOJ当联系码长度比加密文本长时,减去相应位置的数字,否则重复联系码内容数字。IFJADTHENJMIASCMIDJMWZ,I,1VALADIELSEJMIASCMIDJMWZ,I,1VALADIMODADENDIFTTCHRJMINEXTITEXT3TEXTT将文字内容显示在TEXT3文本框中ENDSUB然后调试,我们输入文字“余则成是好人”输入联系码“675874”。我们发现出来的文字发音还是差不多的,其它人多念几遍就能猜出大概意思,。于是,我们在“JMIASCMIDJMWZ,I,1VALADI”和“JMIASCMIDJMWZ,I,1VALADIMODAD”两句话后面均加入“55”使文字发音差距大,产生的文字为“莹怨硰蕦簢葦”,效果不错。然后我们利用VISUALBASIC60软件中的“文件”、“生成工程1EXE”生成一个可执行文件。发给加密操作者使用。二、解密程序的制作我们接下来设计解密程序。研究发现解密程序的原理与加密的程序原理是一样的。我们制作如右图所示窗体。程序代码如下PRIVATESUBCOMMAND1_CLICKDIMIASINTEGER,KASINTEGERJMWZTEXT1TEXTJLENJMWZADMLENTEXT2TEXT取联系码字符串长度DIMJKM100ASINTEGER建一个数据库将提取的每个字存入DIMAD100ASSTRING建一个数据库将联系码字符串的每个字符存入FORK1TOADADKMIDTEXT2TEXT,K,1NEXTK以下循环作用为将文字ASCII值增加一定数值后显示出来FORI1TOJ当联系码长度比加密文本长时,減去相应位置的数值,否则重复联系码内容数字。IFJADMTHENJKMIASCMIDJMWZ,I,1VALADI55ELSEJKMIASCMIDJMWZ,I,1VALADIMODADM55ENDIFTTCHRJKMINEXTITEXT3TEXTT将文字内容显示在TEXT3文本框中ENDSUB然后调试,我们输入文字“莹怨硰蕦簢葦”(手工输入很麻烦,复制粘贴比较方便),输入联系码“675874”。产生的文字为“余则成是好人”,成功。然后我们利用VISUALBASIC60软件中的“文件”、“生成工程1EXE”生成一个可执行文件。发给解密操作者使用。这段程序设计及代码输入完成后,同学们发现对循环结构、数组、ASCII码有了更深的了解,每位同学均有很强的成功感,觉得程序设计还是很“好玩”的。接下来我要求学生对这个程序做一个操作说明,经过讨论,总结出如下结果1、程序设计者将加密程序、解密程序分另交给加密操作者和解密操作者。2、加密操作者如有“情报”发出,只需发出联系码与加密后文字。3、解密操作者在解密程序中输入加密后的文字及联系码,

温馨提示

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

评论

0/150

提交评论