中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

教科版信息必修一《3.4 加密與解密》課后練習原卷+解析卷

資源下載
  1. 二一教育資源

教科版信息必修一《3.4 加密與解密》課后練習原卷+解析卷

資源簡介

《3.4 加密與解密》課后練習解析卷
一、單項選擇題
【第1題】
鐵路網絡購票系統注冊界面如下,關于密碼提示答案的敘述,正確的是( )
A、每次購票時都要輸入核對
B、找回忘記的密碼時要核對
C、必須是自己最大的愛好
D、只是一個了解性的調查
答案:B
解析:使用密碼提示答案時要核對。
【第2題】
嚴格的密碼策略不包括( )
A、滿足一定的長度,比如8位以上
B、同時包含數字,字母和特殊字符
C、系統強制要求定期更改密碼
D、用戶可以設置空密碼
答案:D
解析:嚴格的密碼策略不能設置空密碼。
【第3題】
實現信息安全最基本的技術是( )
A、身份認證技術
B、密碼技術
C、訪問控制技術
D、防病毒技術
答案:B
解析:信息安全最基本的技術是密碼技術
【第4題】
保障信息安全的有效做法是( )
A、可以使用個人的出生年月作為常用密碼
B、密碼的設置要安全,并且定期更換
C、在任何場合使用相同的密碼
D、不用防范木馬
答案:B
解析:根據題意,B最符合。
【第5題】
小明的生日是1996年6月17日,他家的電話號碼是88167545,現在他要為自己的郵箱設置一個密碼,下列密碼中較安全的是( )
A、19960617
B、88167545
C、xiaoming
D、xm#764$
答案:D
解析:密碼設置一般不能包含個人信息,有特殊符號。
【第6題】
下列關于用戶密碼設置的敘述,正確的是( )
A、密碼只能以字母、數字組成
B、密碼容易忘記,應該為各種帳戶設置相同的密碼
C、密碼中可以包含$、#等符號
D、密碼一旦設定,不能更換
答案:C
解析:密碼可以是字母、數字、特殊符號等組成,為了安全各種帳戶設置不同的密碼且定期更換。
【第7題】
閱讀下列實現窮舉搜索的自定義函數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)+"毫秒")
下列選擇錯誤的是()
A、p=int(varin.get()) 獲取輸入文本框的數字密碼
B、for i in range(0,p+1)不可用for i in range(p+1)代替
C、 if i==p 表示循環值與獲取輸入文本框的數字密碼相同
D、varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒") 在輸出文本框中顯示解密用時
答案:B
解析:for i in range(0,p+1)可用for i in range(p+1)代替
【第8題】
如圖有可視化界面程序中的jiemi()函數中的for循環改為while條件循環:
下列選擇正確的是()
A、用while循環時,運算速度降低了
B、用while循環時,運算速度是提高了
C、用while循環時,運算速度沒變
D、再將i=i+1改為i+=1,運算速度沒變化
答案:A
解析:while循環的循環次數更多,因此運算速度降低了
【第9題】
愷撒密碼將明文中的a用d替換,b用e替換,……,z用c替換。明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文,這種密碼稱為加法密碼,又稱為移位密碼。閱讀下列程序代碼,
def CaesarCipher():
c=mingwen.get("0.0", "end")
b=""
miwen.delete("0.0", "end")
for i in range(len(c)):
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W':
b=b+chr(ord(c[i])①) #生成密文
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z':
b=b+chr(ord(c[i])②) #生成密文
else:
b=b+c[i]
miwen.insert("0.0",b)  
下列說法正確的是()
A、①的位置填寫-3
B、①的位置填寫+3、②的位置填寫-23,或-26+3
C、①的位置填寫-23
D、②的位置填寫+3
答案:B
解析:根據題意,往后移三位,因此①的位置填寫+3。
【第10題】
愷撒密碼建立一個明文字符與密文字符之間的一一映射表,即“密表”,如:
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:QWERTYUIOPASDFGHJKLZXCVBNM
加密時,A→Q,B→W,…,解密時Q→A,W→B,…,小寫字母對應法則也相同,即a→q,b→w,…。閱讀下列程序代碼,
def NewCaesar(m,n,t):
z='';i=0
while itmp=t[i].upper()
if tmp in m:
if ord(t[i])<=90:
z+=n[m.find(tmp)]
else:
z+=n[m.find(tmp)].lower()
else:
z+=t[i]
i+=1
return z
m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n='QWERTYUIOPASDFGHJKLZXCVBNM'
a=input('請輸入明文a=')
b=NewCaesar(m,n,a)
print('對應的密文為:',b)
c=NewCaesar(n,m,b)
print('解密后明文為:',c)
下列說法錯誤的是()
A、NewCaesar(m,n,a)表示根據輸入的字符串a,以表n為密匙進行加密
B、if ord(t[i])<=90表示只對數字加密
C、c=NewCaesar(n,m,b)表示根據字符串b,以表m為密匙進行加密
D、m.find(tmp)查找待加密字符在密文中的索引地址
答案:B
解析:字符A、B、C等對應的ASCII值都是小于90的。因此if ord(t[i])<=90表示不只對數字加密
程序填空題
1.根據凱撒密碼的加密原理,將下列程序補充完整。
from tkinter import * #導入tkinter模塊
root = Tk() #建立一個窗口
root.title("凱撒加密") #設置窗口標題
root.geometry('300x200') #設置窗口大小
def CaesarCipher(): #“加密”按鈕激發函數
c=mingwen.get("0.0", "end")[:-1] #獲取mingwen對象的內容(明文)
b=""
miwen.delete("0.0", "end") #清空miwen對象的內容
for i in range(len(c)): #獲取明文內容的每一個字符,并加密
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W': #判斷a~w或A~W間的字母
b=b+chr(ord(c[i])①) #生成密文
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z': #判斷x~z或X~Z間的字母
b=b+chr(ord(c[i])②) #生成密文
else:
③ #字母以外的明文不變
miwen.insert("0.0",b) #在miwen對象中顯示結果
Label(root, text='請輸入明文', font=('Arial', 10)).pack()
mingwen=Text(root,width=300,height=4)
mingwen.pack()
mingwen.focus_set() #獲得焦點
Button(root, text="加密", command=CaesarCipher,relief="solid",width=10).pack()
Label(root, text='凱撒密文', font=('Arial', 10)).pack()
miwen=Text(root,width=300,height=4)
miwen.pack()
root.mainloop()
答案及解析:
①+3 解析:根據凱撒密碼加密原理,如果明文在a~w或A~W間的字母,則后移3位
② -23 解析:根據凱撒密碼加密原理,如果明文在x~z或X~Z間的字母,則返回字母表開頭,按順序后移3位。
③ b=b+c[i] 解析:凱撒密碼只對字母加密,其他字符原樣輸出。
2.根據凱撒密碼的解密原理,將下列程序補充完整。
from tkinter import * # 導入tkinter模塊
root = Tk() # 建立一個窗口
root.title("凱撒解密") # 設置窗口標題
root.geometry('300x200') # 設置窗口大小
def CaesarCipher(): # “解密”按鈕激發函數
c = miwen.get("0.0", "end")[:-1] # 獲取miwen對象的內容(明文)
b = ""
mingwen.delete("0.0", "end") # 清空mingwen對象的內容
for i in range(①): # 獲取密文內容的每一個字符,并解密
if 'd' <= c[i] <= 'z' or 'D' <= c[i] <= 'Z': # 判斷d~z或D~Z間的字母
b = b+chr(ord(c[i])②) # 生成明文
elif ③: # 判斷a~c或A~C間的字母
b = b+chr(ord(c[i])+23) # 生成明文
else:
b = b+c[i] # 字母以外的密文不變
mingwen.insert("0.0", b) # 在mingwen對象中顯示結果
Label(root, text='請輸入密文', font=('Arial', 10)).pack()
miwen = Text(root, width=300, height=4)
miwen.pack()
miwen.focus_set() # 獲得焦點
Button(root, text="解密", command=CaesarCipher, relief="solid", width=10).pack()
Label(root, text='凱撒明文', font=('Arial', 10)).pack()
mingwen = Text(root, width=300, height=4)
mingwen.pack()
root.mainloop()
①len(c) 解析:對每一個密文字符進行遍歷,即len(c)
②-3 解析:根據解密原理,如果是d~z或D~Z間的字母,則前移3位。
③ a' <= c[i] <= 'c' or 'A' <= c[i] <= 'C' 解析:如果是a~c或A~C間的字母,則前移至字母表結尾,直至前移3位?!?.4 加密與解密》課后練習
一、單項選擇題
【第1題】
鐵路網絡購票系統注冊界面如下,關于密碼提示答案的敘述,正確的是( )
A、每次購票時都要輸入核對
B、找回忘記的密碼時要核對
C、必須是自己最大的愛好
D、只是一個了解性的調查
【第2題】
嚴格的密碼策略不包括( )
A、滿足一定的長度,比如8位以上
B、同時包含數字,字母和特殊字符
C、系統強制要求定期更改密碼
D、用戶可以設置空密碼
【第3題】
實現信息安全最基本的技術是( )
A、身份認證技術
B、密碼技術
C、訪問控制技術
D、防病毒技術
【第4題】
保障信息安全的有效做法是( )
A、可以使用個人的出生年月作為常用密碼
B、密碼的設置要安全,并且定期更換
C、在任何場合使用相同的密碼
D、不用防范木馬
【第5題】
小明的生日是1996年6月17日,他家的電話號碼是88167545,現在他要為自己的郵箱設置一個密碼,下列密碼中較安全的是( )
A、19960617
B、88167545
C、xiaoming
D、xm#764$
【第6題】
下列關于用戶密碼設置的敘述,正確的是( )
A、密碼只能以字母、數字組成
B、密碼容易忘記,應該為各種帳戶設置相同的密碼
C、密碼中可以包含$、#等符號
D、密碼一旦設定,不能更換
【第7題】
閱讀下列實現窮舉搜索的自定義函數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)+"毫秒")
下列選擇錯誤的是()
A、p=int(varin.get()) 獲取輸入文本框的數字密碼
B、for i in range(0,p+1)不可用for i in range(p+1)代替
C、 if i==p 表示循環值與獲取輸入文本框的數字密碼相同
D、varout.set(str(d.seconds)+"秒"+str(d.microseconds/1000)+"毫秒") 在輸出文本框中顯示解密用時
【第8題】
如圖有可視化界面程序中的jiemi()函數中的for循環改為while條件循環:
下列選擇正確的是()
A、用while循環時,運算速度降低了
B、用while循環時,運算速度是提高了
C、用while循環時,運算速度沒變
D、再將i=i+1改為i+=1,運算速度沒變化
【第9題】
愷撒密碼將明文中的a用d替換,b用e替換,……,z用c替換。明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文,這種密碼稱為加法密碼,又稱為移位密碼。閱讀下列程序代碼,
def CaesarCipher():
c=mingwen.get("0.0", "end")
b=""
miwen.delete("0.0", "end")
for i in range(len(c)):
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W':
b=b+chr(ord(c[i])①) #生成密文
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z':
b=b+chr(ord(c[i])②) #生成密文
else:
b=b+c[i]
miwen.insert("0.0",b)  
下列說法正確的是()
A、①的位置填寫-3
B、①的位置填寫+3、②的位置填寫-23,或-26+3
C、①的位置填寫-23
D、②的位置填寫+3
【第10題】
愷撒密碼建立一個明文字符與密文字符之間的一一映射表,即“密表”,如:
明文:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文:QWERTYUIOPASDFGHJKLZXCVBNM
加密時,A→Q,B→W,…,解密時Q→A,W→B,…,小寫字母對應法則也相同,即a→q,b→w,…。閱讀下列程序代碼,
def NewCaesar(m,n,t):
z='';i=0
while itmp=t[i].upper()
if tmp in m:
if ord(t[i])<=90:
z+=n[m.find(tmp)]
else:
z+=n[m.find(tmp)].lower()
else:
z+=t[i]
i+=1
return z
m='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
n='QWERTYUIOPASDFGHJKLZXCVBNM'
a=input('請輸入明文a=')
b=NewCaesar(m,n,a)
print('對應的密文為:',b)
c=NewCaesar(n,m,b)
print('解密后明文為:',c)
下列說法錯誤的是()
A、NewCaesar(m,n,a)表示根據輸入的字符串a,以表n為密匙進行加密
B、if ord(t[i])<=90表示只對數字加密
C、c=NewCaesar(n,m,b)表示根據字符串b,以表m為密匙進行加密
D、m.find(tmp)查找待加密字符在密文中的索引地址
程序填空題
1.根據凱撒密碼的加密原理,將下列程序補充完整。
from tkinter import * #導入tkinter模塊
root = Tk() #建立一個窗口
root.title("凱撒加密") #設置窗口標題
root.geometry('300x200') #設置窗口大小
def CaesarCipher(): #“加密”按鈕激發函數
c=mingwen.get("0.0", "end")[:-1] #獲取mingwen對象的內容(明文)
b=""
miwen.delete("0.0", "end") #清空miwen對象的內容
for i in range(len(c)): #獲取明文內容的每一個字符,并加密
if 'a'<=c[i]<='w' or 'A'<=c[i]<='W': #判斷a~w或A~W間的字母
b=b+chr(ord(c[i])①) #生成密文
elif 'x'<=c[i]<='z' or 'X'<=c[i]<='Z': #判斷x~z或X~Z間的字母
b=b+chr(ord(c[i])②) #生成密文
else:
③ #字母以外的明文不變
miwen.insert("0.0",b) #在miwen對象中顯示結果
Label(root, text='請輸入明文', font=('Arial', 10)).pack()
mingwen=Text(root,width=300,height=4)
mingwen.pack()
mingwen.focus_set() #獲得焦點
Button(root, text="加密", command=CaesarCipher,relief="solid",width=10).pack()
Label(root, text='凱撒密文', font=('Arial', 10)).pack()
miwen=Text(root,width=300,height=4)
miwen.pack()
root.mainloop()
2.根據凱撒密碼的解密原理,將下列程序補充完整。
from tkinter import * # 導入tkinter模塊
root = Tk() # 建立一個窗口
root.title("凱撒解密") # 設置窗口標題
root.geometry('300x200') # 設置窗口大小
def CaesarCipher(): # “解密”按鈕激發函數
c = miwen.get("0.0", "end")[:-1] # 獲取miwen對象的內容(明文)
b = ""
mingwen.delete("0.0", "end") # 清空mingwen對象的內容
for i in range(①): # 獲取密文內容的每一個字符,并解密
if 'd' <= c[i] <= 'z' or 'D' <= c[i] <= 'Z': # 判斷d~z或D~Z間的字母
b = b+chr(ord(c[i])②) # 生成明文
elif ③: # 判斷a~c或A~C間的字母
b = b+chr(ord(c[i])+23) # 生成明文
else:
b = b+c[i] # 字母以外的密文不變
mingwen.insert("0.0", b) # 在mingwen對象中顯示結果
Label(root, text='請輸入密文', font=('Arial', 10)).pack()
miwen = Text(root, width=300, height=4)
miwen.pack()
miwen.focus_set() # 獲得焦點
Button(root, text="解密", command=CaesarCipher, relief="solid", width=10).pack()
Label(root, text='凱撒明文', font=('Arial', 10)).pack()
mingwen = Text(root, width=300, height=4)
mingwen.pack()
root.mainloop()

展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 曲水县| 来凤县| 台湾省| 集贤县| 建瓯市| 松溪县| 鹿邑县| 五华县| 鲁山县| 莱西市| 南通市| 峨眉山市| 安岳县| 商丘市| 松江区| 玛沁县| 清水河县| 沅江市| 博乐市| 沈阳市| 徐汇区| 德兴市| 寿光市| 巴塘县| 筠连县| 夹江县| 孟州市| 青田县| 台南县| 崇左市| 龙岩市| 平山县| 常德市| 遂平县| 元氏县| 霍山县| 临桂县| 定安县| 怀集县| 广水市| 保靖县|