C案例七加密演示系统.pptVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
案例七 加密演示系统 本案例知识要点 加密算法的实现 循环语句的使用 数组的使用 文件系统的使用 一、案例需求 案例描述 试编写一个程序,要求对用户在屏幕上输入的用户名和密码实现加密及解密过程。 案例效果图 加密演示系统案例效果如图所示。 加密演示系统的运行效果 功能说明 程序开始运行后,程序给出提示。 用户按照提示选择不同的数字,计算机执行相应的操作。 选择“1”开始加密。系统提示用户输入需要加密的明文:用户名和密码。如果输入正确,则提示加密成功。 选择“2”后,会将存储在“密文.txt”文件中的密文进行显示。 选择“3”后,会将存储在“密文.txt”文件中的密文进行解密显示。 选择“4”将退出系统。 二、案例分析 本案例是对用户输入的用户名和密码分别进行加密以及对密文进行解密的一个演示程序,对数据进行加密和解密的主要任务是加密和解密算法的设计。 案例中,对输入的用户名进行加密采用的算法是:将用户输入的字符串中的每个字符都转换为其下一个字符,特别对于字符“Z”或“z”转换为“A”或“a”密文进行存储。例如,用户输入一个字符串为“Zhanghan”,则转换为字符串“Aibohibo”进行存储。 对输入的密码进行加密所采用的算法是:设计一个二维数组,用户输入的两位数值型的密码分别作为二维数组的行号和列号,将二维数组中对应位置上的元素作为密码的密文进行存储。二位数组的元素可以任意指定,本案例中设计的是以地名作为加密内容的一个10?10的二维数组,该数组如下: a[10][10]= { {太原,北京,天津,重庆,广州,香港,澳门,南宁,台北,上海}, {商丘,郑州,新郑,中牟,新乡,许昌,平顶山,信阳,开封,驻马店}, {石家庄,张家口,高碑店,秦皇岛,唐山,廊坊,衡水,巨鹿,遵化,保定}, {运城,霍州,候马,临汾,武乡,长治,平遥,榆次,大同,朔州}, {景德镇,崇义,瑞金,赣州,井冈山,广昌,德兴,武宁,庐山,南昌}, {铜陵,太湖,马鞍山,南陵,蚌埠,合肥,桐城,黄山,宿州,安庆}, {新丰,乐昌,隆化,汕头,珠海,佛山,广宁,雷州,东莞,潮州}, {武汉,武昌,襄樊,襄阳,鄂州,广水,黄冈,咸宁,佳木斯,宜昌}, {神农架,荆门,巴东,牡丹江,玉门,敦煌,秦安,平凉,舟曲,碌曲}, {玛曲,武都,兰州,哈尔滨,齐齐哈尔,公安,漠河,大庆,嫩江,鸡西} }; 例如,用户在正确地输入了用户名后,在系统的提示下输入的用户密码为“23”。系统将把该二维数组中的第2行第3列位置上的元素“秦皇岛”作为密文。需要注意的是,数组是从第0行第0列开始。 对数据进行解密就是加密的逆过程。先从文件得到用户名密文,再将该字符串中的每个字符都转换为前一个字符得到明文。而对读入的用户密码的密文进行解密时,是根据密文的内容查找二位数组中的元素,找到后返回其行号、列号即可得到明文。 注意,为了实现加密和解密的唯一性,所建立的二维数组中的所有元素都不能重复。 在案例中,将加密后的密文存储在当前目录下的“密文.txt”文件中,读者可以打开察看,如图所示。 加密存储到文件后的结果 三、案例设计 函数的设计 加密函数encrypt () 函数cryptograph () 函数decode() 主程序设计 主程序流程如图所示。 五、案例总结与提高 案例总结 本案例的主要难点是对数据的加密和解密算法的选择。案例中,对用户名的加密选择算法如下:将用户名字符串中的每个字符转换为其下一字符,解密算法为加密算法的逆算法。 对密码的加密采用了将二位数分解为行号和列号,并将其转换为二维数组中相应元素的算法,解密算法为加密算法的逆算法。 案例提高 在全面理解本案例中的加密和解密算法的基础上,改变加密和解密算法,将用户密码的加密算法修改为3位数字输入。 第*页 共19页 目录 退出 目录 * 第*页 共19页 目录 退出 目录

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档