ID: 11303918

探究密码安全问题——枚举算法的应用课件(20ppt)2021—2022学年沪教版(2019)必修1

日期:2026-02-22 科目:信息技术 类型:高中课件 查看:68次 大小:6400230B 来源:二一课件通
预览图 1/9
必修,2019,教版,学年,2022,2021
  • cover
(课件网) 人们的生活已经被密码层层包围,密码对国家、集体、个人的信息安全非常重要,黑客通过种种方法对我们的密码进行攻击。 李磊同学很想知道破解密码背后的原理,从而在设置密码时设置安全级别更高的密码。 探究密码安全问题 ———枚举算法的应用 请同学们尝试打开你拿到的三位密码锁 密码位置 当密码正确时,按动按钮,锁被打开 枚举法就是按问题本身的性质,一一列举出该问题所有可能的解,逐一检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。也叫穷举法。 算法思想 算法关键步骤 一一列举 逐一检验 语句格式 算法结构 列举范围 检验条件 注意事项 选择结构 for i in range( ) if( ) 循环结构 计算机解决问题的过程 分析问题 枚举范围 检验条件 14700-14799 能被57或67整除 请同学们依据枚举算法的关键步骤,用自然语言描述找出满足条件的五位数的步骤。 设计算法 ①_____ ②_____ 说一说 n从14700循环到14799 如果n是57的倍数或者n是67的倍数,就输出n,否则继续下一个数,直到循环结束 设计算法 for n in range(_____,_____ ) if( ) print(n) n%57==0 n%67==0 14700 14800 or n:五位数的编号 编程实现 for n in range(14700,14800): if (n%57==0 or n%67==0): print(n) 调试运行 分析问题 计算机猜测时枚举的范围是什么? 000 001 002 998 999 0-999 分析问题 逐一检验的条件是什么? 计算机猜测的密码和用户设定的密码一致 key:用户设定的三位数字密码 count:猜测次数 n:计算机每次猜测的密码 n==key 设计算法 请同学们完成“任务1.ppt”中的任务 编程实现 请尝试运行“破解三位数字密码程序” key=int(input("请输入一个三位数字密码:")) count=0 for n in range(0,1000): count=count+1 if key==n: print("计算机猜测该密码所需次数为:",count) 调试运行 请同学们完成任务2: 将“破解三位数字密码锁”txt文件中的代码粘贴至python编译器中运行并输入密码查看结果 调试运行 依据算法和程序,计算机在猜到密码后,会停下来还是会继续把后面的数字枚举完 key=int(input("请输入一个三位数字密码:")) count=0 for n in range(0,1000): count=count+1 if key==n: print("计算机猜测该密码所需次数为:",count) break #跳出循环 调试运行 依据算法和程序,计算机在猜到密码后,会停下来还是会继续把后面的数字枚举完 key=int(input("请输入一个三位数字密码:")) count=0 for n in range(0,1000): count=count+1 if key==n: print("计算机猜测该密码所需次数为:",count) 五位字母密码锁相对三位数字密码锁的安全性是否提高?为什么? 设定密码时你是否会使用生日、电话号码等? 现在很多密码验证环节需要输入验证码,这是为什么? 1 2 3 不要使用如123456,666666,Iloveyou等弱密码 不要使用生日、电话信息等 不要“一个密码走天下” 在规定长度范围内尽可能设置长一点 多种字符无规律组合(大小写字母、数字、特殊字符等) 3. 可以给自己的密码设计一些算法或规律 娉娉袅袅十三余,豆蔻梢头二月初:ppnn13%,dkstFeb.1st 4. 根据密码重要性等级进行分类管理 “三不” “四要” 给李磊同学及弱密码使用者的建议: 密码安 全问题 枚举算法 探究———破解“三位数字密码锁” 思考———如何设置密码提高安全性 枚举算法的一般过程 利用枚举算法解决问题 一一列举 逐一检验 ... ...

~~ 您好,已阅读到文档的结尾了 ~~