《体验数据解密的计算思维.pptx》由会员分享,可在线阅读,更多相关《体验数据解密的计算思维.pptx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、程程序序设设计计python元组应用&流程控制广州市第一中学 信息技术科 张春凤学习目标会读流程图01理解元组的概念及特点02运用Index()03流程控制04通通过过数数据据解解密密,体体验验计计算算思思维维针孔加密法猪圈加密法对称加密算法非对称加密法RSA算法ECC加密法二方密码四方密码RC5ADFGVX密码希尔密码摩斯密码没有运用计算机解密体验游戏热身:游戏热身:它发明于1837年。组成:短促的点信号“”,读“滴”;保持一定时间的长信号“”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t。针孔加密法猪圈加密法对称加密算法非对称加密法RSA算法ECC加密法
2、二方密码四方密码RC5ADFGVX密码希尔密码摩斯密码没有计算机时代解密体验运用游戏热身:游戏热身:http:/ 前端加密 后端解密重要的数据Base64编码64指:A-Za-z0-9+64个字符还有“=”号不属于编码字符,而是填充字符。=26+26+10+1+1索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u6
3、3/13N30e47v14O31f48w15P32g49x16Q33h50yTable 1:The Base64 Alphabet例子(2)验证:http:/ 1:根据根据表中索引值,表中索引值,提取对应的字符提取对应的字符编码原理12345 分析问题:为了提高数据的安全性,如银行密码等,可将数字加密为字母密文保存。使用时再解密还原成数值。如密文:aqkfqp可解密为:201803寻找办法:(自然语言描述算法)1、创建有10(0-9)个字符的元组:code2、输入欲解密的密文s。3、通过遍历密文s,再检索码表code,转换成明文d。code没有的,输出“?”4、输出完整的明文d。code=(q
4、,k,a,p,w,x,E,Q,f,t)索引对应字符0q1K2a3p4w5x6E7Q8f9t索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w15P32g49x16Q33h50y学以致用学以致用编写简单的解密程序。d 索引值:0 1 2 3 4 5 6 7 8 912I in
5、 编写简单的解密程序。流程图(Flow Chart)开始字母密码存入元组code输入密文sI in提取所在位置索引值p结束输出明文dY学以致用学以致用YNp=“?”体验体验2 2:根据流程图,:根据流程图,初读源程序初读源程序连接字符d+12345N3I in 开始字母密码存入元组code输入密文sI in提取所在位置索引值p结束输出明文dY学以致用学以致用YNp=“?”连接字符d+12345N12345体验体验4 4:编写补充完整:编写补充完整程序,并调试程序,并调试编写简单的解密程序。计算机语言#遍历元组“s”#提取匹配字符的索引值#把所有匹配字符连在一起#没有匹配字符,用?表示#输出明文
6、d4#密文初始值为空元组tuple P47元组概念:和列表类似也是一个有序序列,但元组是不可变的。特点:元组与字符串类似,下标索引从0开始,可以进行截取,组合等。格式:在括号中添加元素,并使用逗号隔开即可tup1=(physics,chemistry,1997,2000)tup2=(1,2,3,4,5)tup3=a,b,c,d索引值:0 1 2 3知识知识1 1描述Python index()方法检测字符串中是否包含子字符串 str,如果指定 beg(开始)和 end(结束)范围,则检查是否包含在指定范围内。语法index()方法语法:str1.index(str2)参数str-指定检索的字符
7、串返回值如果包含子字符串返回所在位置的索引值,否则抛出异常。实例以下实例展示了index()方法的实例:a=helabword;b=b;print(a.index(b)以上实例输出结果如下:?index()方法体验体验3 3:抢答:抢答知识知识2 2字符串字符循环结构(实现遍历)P55for循环结构1、for语句基本结构:for 元素 in 集合:(缩进)循环体For语句用于遍历可迭代对象中的所有元素(从头部开始),直到结束。这种处理模式被称为:遍历(traversal)。s=input(请输入密文:)for i in s:print(i)知识知识3 3对字符串进行遍历的例子:i是否遍历完s输
8、入s输出i结束开始否是使用if.else的选择结构:P53 P53含义:如果条件为真,则执行后面缩进的语句1:否则,则执行后面缩进的语句2使用方法:if 条件:语句1 else:语句2分支结构分支结构ifelseifelse知识知识4 4例子回顾:判断age18输入age输出:成年人,全票输出:小朋友,半票age=int(input(请输入年龄:)if age18:print(成年人,全票)else:print(小朋友,半票)I in 开始字母密码存入元组code输入密文sI in提取所在位置索引值p结束输出明文dY学以致用学以致用YNp=“?”连接字符d+12345N12345体验体验4 4
9、:编写补充完整:编写补充完整程序,并调试程序,并调试编写简单的解密程序。计算机语言#遍历元组“s”#提取匹配字符的索引值#把所有匹配字符连在一起#没有匹配字符,用?表示#输出明文d4拓展拓展修改程序,看到每个字符遍历的过程,并通过显示器输出?计算机语言12345拓展拓展2 2修改程序,增加码表的字符,并执行体验code=(qq,kk,aa,pp,ww,xx,EE,QQ,ff,tt)索引对应字符0q1K2a3p4w5x6E7Q8f9t10b11c12d索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V
10、38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w15P32g49x16Q33h50y修修改改结合刚才解密的程序,对计算机解决问题的思路进行梳理:1 根据思路,画流程图2 分析问题3 寻找办法,用自然语言描述4 根据流程图,编写程序A 1234 B 2341 C 2314 D 3214抢答编写简单的解密程序总结总结为了提高数据的安全性,如银行密码等,可将数字加密为字母密文保存。使用时再解密还原成数值。1、创建有10个
11、字符的元组:code2、输入欲解密的密文s。3、通过遍历密码表code,转换成明文d。code没有的,输出“?”4、最后输出完整的明文d。code=(q,k,a,p,w,x,E,Q,f,t)while True:d=s=(请输入密文(qfor exit):n)if(s=q):break for i in :if i in code:p=.index(i)d+=str(p)else:d+=?(这是明文:,d)运运用用计计算算机机求求解解的的计计算算思思维维分析问题分析问题1寻找办法寻找办法2流程图流程图3计算机语言计算机语言4算法和密钥。算法+密钥=不可理解的密文,来保证网络的信息通信安全。软件的加密与解密是一个迷人的研究领域:密码学、程序设计语言、操作系统、数据结构、计算机安全、人工智能延伸:我们的程序存在哪些漏洞呢?算法算法前端加密 后端解密重要的数据胡玮炜