国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python實現凱撒密碼

瀏覽:3日期:2022-06-22 11:43:41

在密碼學中,凱撒密碼(或稱愷撒加密、愷撒變換、變換加密)是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術。這個加密方法是以愷撒的名字命名的,當年愷撒曾用此方法與其將軍們進行聯系。愷撒密碼通常被作為其他更復雜的加密方法中的一個步驟,例如維吉尼亞密碼。愷撒密碼還在現代的ROT13系統中被應用。但是和所有的利用字母表進行替換的加密技術一樣,愷撒密碼非常容易被破解,而且在實際應用中也無法保證通信安全。

盡管是最簡單的加密技術,但那該怎么在python中如何現實呢?

代碼如下:

def ask(): while True: print('Welcome to you coming!') print('you can choose mode : encrypt(e) or decrypt(d)') #有解密和加密模式 print('If you choose encrypt ,you can lock the message!') #加密提示 print('If you choose decrypt ,you can unlock the message!') #解密提示 print('If you wanna exit , input ’q’!!') #退出提示 mode = input('choose:').lower()#將輸入的模式進行變換(從大寫變小寫,小寫部分不變) if mode in ’encrypt e decrypt d q’.split(): #當模式是被要求的encrypt e(加密模式)decrypt d(解密模式) q(退出)時進行下一步操作 #print(mode) #打印輸入的模式 return mode #將mode的值作為返回值 else: print(’Please input right option!!’) #輸出提示def getKey(mode): key = 0 #設置默認的key while key <= 0 or key >= 26: #限制key的范圍在(1-25以內的數) try: #這里進行異常處理,將非整數類型的輸入進行錯誤提示打印 key = int(input('Please input your key:(1-26)')) except: print('Please input correct number!!') #對解密的密匙進行變換 if mode == ’d’ or mode == ’decrypt’: key = -key return keydef getMessage(key): #輸入信息 while True: informetion = input('Please input message!!') #輸入要解密或者加密的信息 if informetion.isalpha(): #判斷輸入的字符串是否為純字母 break else: print('Please input continuous character!!!') #輸錯提示 message = ’’ #設置輸出的初始值 for x in informetion: #將輸入信息里的進行逐一字母加密/解密 num = ord(x) #將單一字符通過ascii表進行轉換,將字母轉換為數字 num += key #加上key的值進行下列運算 if x.isupper(): #判斷是否是大寫字母 if num > ord(’Z’): #對超出ascii對應數值的范圍進行處理 num -=26 print(message) elif num < ord(’A’): num +=26 print(message) elif x.islower(): #判斷是否小寫字母 if num > ord(’z’): num -=26 elif num < ord(’a’): num +=26 message += chr(num) #將單一字符通過ascii表進行轉換,將數字轉換為字母 return message #返回message的值 if __name__=='__main__': #主程序 mode = ask() #將ask()返回值存于mode變量中 if mode == ’q’: #進行退出判斷 print(’welcome!!’) else: key = getKey(mode) #將mode變量的值帶入getKey函數中運行,運行后將key的值存入到key變量中 last = getMessage(key) #將key變量的值帶入到getMessage函數中,運行后將message的值存入到last變量中 print(last)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国内成人精品亚洲日本语音 | 成人性欧美丨区二区三区 | 日本s色大片在线观看 | 亚洲综合精品一二三区在线 | 91久久国产露脸精品免费 | 日本人的色道www免费一区 | 1024手机基地在线看手机 | 草草影 | 18年大片免费在线 | 欧美综合精品一区二区三区 | 日韩一级高清 | 欧美毛片 | 202z欧美成人 | 国产一级视频在线观看 | 国产一区三区二区中文在线 | 成人在线午夜 | 免费观看毛片的网站 | 亚洲国产第一区二区香蕉 | 亚洲精品久久九九精品 | 日本a级三级三级三级久久 日本a级特黄三级三级三级 | 色偷偷亚洲第一成人综合网址 | 国产免费一区二区三区在线 | 中文字幕一区视频一线 | 九九久久精品国产 | 毛片成人永久免费视频 | 一区二区三区免费视频网站 | 国产激情一区二区三区 | 九九精品国产兔费观看久久 | 久久精品国产第一区二区 | 欧美激情视频一区二区免费 | 国产精品久久久久久久久福利 | 国产一区二区久久 | 手机福利在线 | 欧美精品免费在线 | 久久久9视频在线观看 | 加勒比综合 | 成人欧美一区二区三区在线观看 | 一级特色黄大片 | 91亚洲成人| 久久这里只有精品免费视频 | 一级特色黄大片 |