内容正文:
3.4 加密与解密
教学目标:
理解数据加密与解密和概念及原理。
会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
了解数据加密的历史
会用Python实现简单的加密算法
恺撒密码的加密与解密算法。
【教学重点】
会分析生活中由密码引起的数据安全问题,理解对数据进行保护的意义。
恺撒密码的加密与解密算法。
【教学难点】
用穷举法破解密码;恺撒密码的加密与解密算法。
【教学过程】
一、引入
1.学生预习,阅读第77页“任务一 解开网站账号被盗之谜”之“活动1 防范‘盗窃’行为”,填写下表。
密码盗窃与防盗分析表
盗窃方式
防盗窃措施
肩窥方式
我们可以在输入密码时遮挡自己的操作过程,防止别人偷看密码信息;或者确定环境安全后再进行操作
字典破解
密码不要用生日、姓名及拼音缩写、手机号、简单数字组合、单词、身份证号、用户Id
暴力破解
同时包含大小写字母、数字、特殊符号,不少于8个字符
二、密码[来源:Z。xx。k.Com]
1、密码的定义:
密码是指用来核对用户ID以验证用户就是本人的一组字符。
2、活动:设置安全密码
运行“数据安全性测试.py”并测试穷举搜索一个5位、7位和9位的数字密码,分别需要多长时间,填写下表。(文件己下发到学生机桌面)
密码长度
密码值
破解时间
5位
12567
1.0毫秒
98302
15.6毫秒
7位
9位
表3.4.2 穷举搜索密码需要的时间
实现穷举搜索的自定义函数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 #取得时间差
#在输出文本框中显示解密用