
預(yù)防密碼被盜,學(xué)會創(chuàng)建安全密碼。
會分析生活中由密碼引起的數(shù)據(jù)安全問題,理解對數(shù)據(jù)進(jìn)行保護(hù)的意義。
閱讀課本第77頁,填寫下表:
密碼不要用生日、姓名及拼音縮寫、手機(jī)號、簡單數(shù)字組合、單詞、身份證號、用戶Id
同時(shí)包含大小寫字母、數(shù)字、特殊符號,不少于8個(gè)字符
我們可以在輸入密碼時(shí)遮擋自己的操作過程,防止別人偷看密碼信息;或者確定環(huán)境安全后再進(jìn)行操作;
密碼是指用來核對用戶ID以驗(yàn)證用戶就是本人的一級字符。
運(yùn)行并測試窮舉搜索5位、7位、9位的數(shù)字密碼,分別需要多長時(shí)間,并填寫下表:
3-4 數(shù)據(jù)安全性測試(有可視化界面).py
frm tkinter imprt *imprt datetimert = Tk() #創(chuàng)建窗體rt.gemetry(‘300x100’) #設(shè)置窗體大小def jiemi(): d1=() #獲取當(dāng)前系統(tǒng)時(shí)間d1 p=int(varin.get()) #獲取輸入文本框的數(shù)字密碼 fr i in range(0,p+1): #從0循環(huán)到正確密碼數(shù)值 if i==p: #如果密碼相同 d2=() #獲取當(dāng)前系統(tǒng)時(shí)間d2 d=d2-d1 #取得時(shí)間差 #在輸出文本框中顯示解密用時(shí) varut.set(str(d.secnds)+"秒"+str(d.micrsecnds/1000)+"毫秒") frm = Frame(rt)#leftfrm_L = Frame(frm)Label(frm_L, text='輸入密碼:', fnt=('Arial', 10)).pack()Label(frm_L, text='破解用時(shí):', fnt=('Arial', 10)).pack()frm_L.pack(side=LEFT)#rightfrm_R = Frame(frm)varin=StringVar()varut=StringVar()Entry(frm_R, textvariable = varin).pack()Entry(frm_R, textvariable = varut).pack()frm_R.pack(side=RIGHT)frm.pack()Buttn(rt, text="破解", cmmand=jiemi,relief="slid",width=10).pack()rt.mainlp()
參照課本第78-79頁
當(dāng)用戶單擊破解按鈕時(shí),運(yùn)行
StringVar、BleanVar、DubleVar、IntVar并不是pythn內(nèi)建的對象,?而是屬于Tkinter下的對象,使用界面編程的時(shí)候,?有些時(shí)候是需要跟蹤變量的值的變化,以保證值的變更隨時(shí)可以顯示在界面上;.get()和.set()獲取、設(shè)置值
如果密碼中不僅包括數(shù)字還包括英文字母,破解的時(shí)間會不會更長?這個(gè)解密程序應(yīng)該如何修改?
提示:修改自定義函數(shù)jiemi(),數(shù)字0~9的ASCII碼值48~57;大寫英文字母A~Z的ASCII碼值65~90;小寫英文字母A~Z的ASCII碼值97~122;
如果知道密碼是你生日幾位數(shù)的組合 ,試著修改一下程序,破解的時(shí)間是多少?
4個(gè)字母數(shù)字組合密碼破解.py
6個(gè)字母數(shù)字組合密碼破解.py
創(chuàng)建安全密碼的一般技巧
創(chuàng)建安全密碼的一般技巧:
使用長度不少于8個(gè)字符的密碼。密碼長度越長越不容易破解。在可能的情況下,盡量使用字母、數(shù)字和特殊字符(比如$、#)相結(jié)合的密碼;不要使用電話號碼、身份證號碼或生日等信息作為密碼;不要使用整個(gè)用戶ID或用戶ID的一部分作為 密碼;不要使用字典中能找到的詞語作為密碼,即使字母次序顛倒過來的常用詞語也不可以;
為保障數(shù)據(jù)安全,還可以采取限制登錄嘗試次數(shù),使用驗(yàn)證碼,使用用戶的具有排他性的自然特征(如指紋、人臉等)
愷撒密碼只是簡單地將明文中的每一個(gè)字母用字母表中該字母后的第3個(gè)字母替換。例如,將明文中的a用d替換,b用e替換,……,z用c替換。
加密就是將原始信息(數(shù)據(jù))隱匿起來,使之在缺少特殊信息(數(shù)據(jù))時(shí)不可讀。原始信息(數(shù)據(jù))稱為明文,加密后的信息(數(shù)據(jù))稱為密文;將密文還原成明文的過程稱為解密(或解碼)
像愷撒密碼這樣,明文中的所有字母都在字母表上向后(或向前)按照一個(gè)固定數(shù)目進(jìn)行偏移后被替換成密文,這種密碼稱為加法密碼,又稱為移位密碼。
用Pythn語言實(shí)現(xiàn)加密算法時(shí),明文和密文都被抽象為字符串類型的數(shù)據(jù),比如”AbCED”。
c[i]表示字符串c的第i+1個(gè)字符。
len函數(shù)字符串中字符的個(gè)數(shù)。
rd函數(shù)將字符轉(zhuǎn)換為對應(yīng)的整數(shù)值
chr函數(shù)將整數(shù)轉(zhuǎn)換為對應(yīng)的字符
frm tkinter imprt * #導(dǎo)入tkinter模塊rt = Tk() #建立一個(gè)窗口 rt.title("愷撒加密") #設(shè)置窗口標(biāo)題 rt.gemetry('300x200') #設(shè)置窗口大小def CaesarCipher(): #“加密”按鈕激發(fā)函數(shù) c=mingwen.get("0.0", "end") #獲取mingwen對象的內(nèi)容(明文) b="" miwen.delete("0.0", "end") #清空miwen對象的內(nèi)容 fr i in range(len(c)): #獲取明文內(nèi)容的每一個(gè)字符,并加密 if 'a'> rd(mm[0])97>>> chr(rd(mm[0])+3)'d'>>> chr(rd(mm[1])+3)'e'>>> chr(rd(mm[2])+3)'f'>>> chr(rd(mm[3])+3)'g'>>>
當(dāng)今信息技術(shù)發(fā)展迅速,人們的網(wǎng)絡(luò)交流日益頻繁,各種信息終端及網(wǎng)絡(luò)中存儲的個(gè)人信息越來越多,不恰當(dāng)?shù)氖褂眯袨橥鶗斐尚孤?,帶來安全隱患。請思考大家可能會有哪些不安全的信息技術(shù)使用習(xí)慣,并提出相應(yīng)的數(shù)據(jù)保護(hù)方案。
這是一份信息技術(shù)必修1 數(shù)據(jù)與計(jì)算3.4 加密與解密圖片課件ppt,共15頁。PPT課件主要包含了學(xué)習(xí)目標(biāo),密碼盜竊方式,加法密碼等內(nèi)容,歡迎下載使用。
這是一份教科版 (2019)必修1 數(shù)據(jù)與計(jì)算3.4 加密與解密集體備課ppt課件,共31頁。PPT課件主要包含了學(xué)習(xí)目標(biāo),加密解密過程,體驗(yàn)“愷撒密碼”,練一練,想一想等內(nèi)容,歡迎下載使用。
這是一份2021學(xué)年3.4 加密與解密試講課ppt課件,文件包含34加密與解密第一課時(shí)-新教材2020-2021學(xué)年教科版2019高中信息技術(shù)必修一課件ppt、終結(jié)者II審判日-高清mp4等2份課件配套教學(xué)資源,其中PPT共13頁, 歡迎下載使用。
微信掃碼,快速注冊
注冊成功