资源简介 中小学教育资源及组卷应用平台 必修1 3.4 加密与解密 (第1课时) 课题 必修1 3.4 加密与解密 单元 3 学科 信息技术 年级 高一 学习 目标 学习数据加密和解密的知识,树立保护数据安全的意识。 重点 会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。 难点 用穷举法破解密码。 教学过程 教学环节 教师活动 学生活动 设计意图 导入新课 1.学生预习,阅读第77页“任务一 解开网站账号被盗之谜”之“活动1 防范‘盗窃’行为”,填写第78页的表3.4.1。 2.教师检查,并评讲填写情况,引出数据安全、密码的话题。 学生预习,阅读第77页“任务一 解开网站账号被盗之谜”之“活动1 防范‘盗窃’行为”,填写第78页的表3.4.1。 学生通过预习阅读第77页“任务一 ”,从而学习和了解密码盗窃的相关知识。 讲授新课 二、密码 密码是指用来核对用户ID以验证用户就是本人的一组字符。 活动2设置安全密码 打开教科书配套资源中的“数据安全性测试.py”,运行并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,填写表3.4.2。(详见配套资源“数据安全性测试(有界面).py”) 表3.4.2 穷举搜索密码需要的时间 密码长度 密码值 破解时间 5位 12567 1.0毫秒 98302 15.6毫秒 7位 1248906 101.006毫秒 9784302 425.524毫秒 9位 132657980 5秒156.794毫秒 321809456 12秒544.216毫秒 根据你实践的结果研究下面的python代码,想一想,如果密码中还有字母,破解的时间会变成吗?请于同学们讨论创建安全密码的方法。 实现穷举搜索的自定义函数jiemi()的程序代码如下: def jiemi(): d1=datetime.datetime.now() #获取当前系统时间d1 p=int(varin.get()) #获取输入文本框的数字密码 for i in range(0,p+1): #从0循环到正确密码数值 if i==p: #如果密码相同 d2=datetime.datetime.now() #获取当前系统时间d2 d=d2-d1 #取得时间差 #在输出文本框中显示解密用时 varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒") 程序运行效果如下: varin和varout是程序中的两个文本框对象,分别用来接收输入的密码和显示解析密码所需时间。 get和set是文本框的两个方法,分别用于接收文本框中的数据和在文本框中显示输出数据。 创建安全密码的一般技巧 1、使用长度不少于8个字符的密码。密码长度越长越不容易被破解。 2、在可能的情况下,尽量使用字母、数字和特殊字符(如¥,#)相结合的密码。 3、不要使用电话号码、身份证号或生日等信息作为密码。 4、不要使用整个用户ID或用户ID的一部分作为密码。 5、不要使用字典中能找到的词语作为密码,即使是字母次序颠倒过来的常用词语也不可以。 为保障数据安全,还可采取限制登录次数、使用验证码、使用用户的具有排他性的自然特征 (如指纹、人脸等)作为身份验证依据等措施。 学生学习密码的概念。 运行程序“数据安全性测试”,感知密码长度和破解密码时间的关系。 学生研究下面的代码,讨论创建密码的方法。 学生学习varin和varout两个文本框对象。 学习创建安全密码的一般技巧。 让学生理解密码的概念。 运行程序“数据安全性测试”,感知密码长度和破解密码时间的关系。 让学生研究下面的代码,讨论创建密码的方法,从而对密码长度和破解时间有更深的认识。 让学生学习varin和varout两个文本框对象。 让学生学习创建安全密码的一般技巧。 课堂小结 1、防字典破解:设置安全密码,不用生日、姓名及拼音缩写、手机号、 简单数字组合、单词、身份证号、用户ID等。 2、防暴力破解:设置安全密码,要同时包含大小写字母、数字、特殊符号,不少于8个字符。 3、为提高运算速度,尽可能采用计数循序for语句代替条件循环while语句, 4、用复合赋值语句(i+=1)代替简单赋值语句(i=i+1) 学生跟着老师一块对本节内容所学进行总结。 对课堂所学内容进行总结,加深对知识的理解。 巩固练习 将有可视化界面程序中的jiemi()函数中的for循环改为while条件循环,观察运算速度是提高了还是降低了。你能得出什么结论? 让学生将有可视化界面程序中的jiemi()函数中的for循环改为while条件循环,观察运算速度是提高了还是降低了。 让学生对for循环和while循环进行比较学习。 _21?????????è?????(www.21cnjy.com)_ 展开更多...... 收起↑ 资源预览