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