体验数据解密的计算思维_第1页
体验数据解密的计算思维_第2页
体验数据解密的计算思维_第3页
体验数据解密的计算思维_第4页
体验数据解密的计算思维_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

程序设计通过解密数据,体验计算思维——python元组应用&流程控制广州市第一中学信息技术科张春凤学习目标会读流程图01理解元组的概念及特点02运用Index()03流程控制04通过数据解密,体验计算思维常见的加密方法针孔加密法猪圈加密法对称加密算法非对称加密法RSA算法ECC加密法二方密码四方密码RC5ADFGVX密码希尔密码摩斯密码没有计算机时代解密体验0102运用计算机解密体验游戏热身:它发明于1837年。组成:短促的点信号“·”,读“滴”;保持一定时间的长信号“—”,读“嗒”。间隔时间:滴=1t,嗒=3t,滴嗒间=1t,字符间=3t,单词间=7t。常见的加密方法针孔加密法猪圈加密法对称加密算法非对称加密法RSA算法ECC加密法二方密码四方密码RC5ADFGVX密码希尔密码摩斯密码没有计算机时代解密体验0102运用计算机解密体验游戏热身:/encrypt?type=35ZCv5Yqo6K6h5YiSQg==拿到密文解密出明文在线工具加解密技术

前端加密后端解密重要的数据Base64编码64指:A-Za-z0-9+64个字符还有“=”号不属于编码字符,而是填充字符。=26+26+10+1+1索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w15P32g49x16Q33h50yTable1:TheBase64Alphabet例子(2)验证:/encrypt?type=3明文AscII编码二进制码索引值Base64编码(密文)体验1:根据表中索引值,提取对应的字符编码原理12345分析问题:为了提高数据的安全性,如银行密码等,可将数字加密为字母密文保存。使用时再解密还原成数值。如密文:aqkfqp可解密为:201803寻找办法:(自然语言描述算法)1、创建有10(0-9)个字符的元组:code2、输入欲解密的密文s。3、通过遍历密文s,,再检索码表code,转换成明文d。code没有的,输出“?”4、输出完整的明文d。code=('q','k','a','p','w','x','E','Q','f','t')索引对应字符0q1K2a3p4w5x6E7Q8f9t索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w15P32g49x16Q33h50y学以致用编写简单的解密程序。d索引值:012345678912Iin编写简单的解密程序。——流程图(FlowChart)开始字母密码存入元组code输入密文sIin提取所在位置索引值p结束输出明文dY学以致用YNp=“?”体验2:根据流程图,初读源程序连接字符d+12345N3Iin开始字母密码存入元组code输入密文sIin提取所在位置索引值p结束输出明文dY学以致用YNp=“?”连接字符d+12345N12345体验4:编写补充完整程序,并调试编写简单的解密程序。——计算机语言#遍历元组“s”#提取匹配字符的索引值#把所有匹配字符连在一起#没有匹配字符,用?表示#输出明文d4#密文初始值为空元组tupleP47元组概念:和列表类似也是一个有序序列,但元组是不可变的。特点:元组与字符串类似,下标索引从0开始,可以进行截取,组合等。格式:在括号中添加元素,并使用逗号隔开即可tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5)tup3="a","b","c","d"索引值:0123知识1描述Pythonindex()方法检测字符串中是否包含子字符串str,如果指定beg(开始)和end(结束)范围,则检查是否包含在指定范围内。语法index()方法语法:str1.index(str2)参数str--指定检索的字符串返回值如果包含子字符串返回所在位置的索引值,否则抛出异常。实例以下实例展示了index()方法的实例:

a="helabword";b="b";print(a.index(b))以上实例输出结果如下:?index()方法体验3:抢答知识2字符串字符循环结构(实现遍历)P55——for循环结构1、for语句基本结构:for元素in集合:(缩进)循环体For语句用于遍历可迭代对象中的所有元素(从头部开始),直到结束。这种处理模式被称为:遍历(traversal)。s=input('请输入密文:')foriins:print(i)知识3对字符串进行遍历的例子:i是否遍历完s输入s输出i结束开始否是使用if..else的选择结构:P53含义:如果条件为真,则执行后面缩进的语句1:否则,则执行后面缩进的语句2使用方法:if条件:

语句1else:

语句2分支结构——if…else…知识4例子回顾:判断age>18输入age输出:成年人,全票输出:小朋友,半票age=int(input("请输入年龄:"))ifage>18:print('成年人,全票')else:print('小朋友,半票')Iin开始字母密码存入元组code输入密文sIin提取所在位置索引值p结束输出明文dY学以致用YNp=“?”连接字符d+12345N12345体验4:编写补充完整程序,并调试编写简单的解密程序。——计算机语言#遍历元组“s”#提取匹配字符的索引值#把所有匹配字符连在一起#没有匹配字符,用?表示#输出明文d4拓展修改程序,看到每个字符遍历的过程,并通过显示器输出?——计算机语言12345拓展2修改程序,增加码表的字符,并执行体验code=('q','k','a','p','w','x','E','Q','f','t‘)索引对应字符0q1K2a3p4w5x6E7Q8f9t10b11c12d索引对应字符索引对应字符索引对应字符索引对应字符0A17R34i51z1B18S35j5202C19T36k5313D20U37l5424E21V38m5535F22W39n5646G23X40o5757H24Y41p5868I25Z42q5979J26a43r60810K27b44s61911L28c45t62+12M29d46u63/13N30e47v14O31f48w15P32g49x16Q33h50y修改结合刚才解密的程序,对计算机解决问题的思路进行梳理:1根据思路,画流程图2分析问题3寻找办法,用自然语言描述4根据流程图,编写程序A1234B2341C2314D3214抢答编写简单的解密程序总结为了提高数据的安全性,如银行密码等,可将数字加密为字母密文保存。使用时再解密还原成数值。1、创建有10个字符的元组:code2、输入欲解密的密文s。3、通过遍历密码表code,转换成明文d。code没有的,输出“?”4、最后输出完整的明文d。code=('q','k','a','p','w','x','E','Q','f','t')whileTrue:d=""s=

("请输入密文(‘q’forexit):\n")

if(s=='q'):breakforiin

:ifiincode:p=.index(i)d+=str(p)else:d+='?'

温馨提示

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

评论

0/150

提交评论