91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何實現凱撒密碼加密解密

發布時間:2022-06-13 09:13:04 來源:億速云 閱讀:725 作者:iii 欄目:開發技術

這篇文章主要介紹了python如何實現凱撒密碼加密解密的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇python如何實現凱撒密碼加密解密文章都會有所收獲,下面我們一起來看看吧。

凱撒加密就是通過將字母移動一定的位數來實現加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移,被替換成密文。例如,當偏移量是2的時候,所有的字母B將被替換成D,C變成E,以此類推Y將變成A,Z變成B。由此可見,偏移量就是凱撒密碼加密和解密的密鑰。

下面使用python代碼來實現凱瑟密碼的加密解密。

import string
def kaisa_jiami(s,k):
    lower=string.ascii_lowercase#小寫英文字母
    upper=string.ascii_uppercase#大寫英文字母
    before=string.ascii_letters#全部英文字母字母
    after=lower[k:]+lower[:k]+upper[k:]+upper[:k]#建立循環字母
    table=''.maketrans(before,after)#創建映射表
    return s.translate(table)

def kaisa_jiemi(s,k):
    lower=string.ascii_lowercase
    upper=string.ascii_uppercase
    before=string.ascii_letters
    after=lower[k:]+lower[:k]+upper[k:]+upper[:k]
    table=''.maketrans(after,before)
    return s.translate(table)
def main():
    s=input("請輸入要加密的字符串:")
    k=int(input("請輸入一個整數密鑰:"))#將k轉換為整數,默認輸入為字符
    print('需要加密的字符串為:',s)
    a=kaisa_jiami(s,k)  
    print("加密后為:",a)  
    b= kaisa_jiemi(a,k)
    print("解密后為:",b)
if __name__=='__main__':
    main()

運行結果

請輸入要加密的字符串:HELLO world
請輸入一個整數密鑰:3
需要加密的字符串為: HELLO world
加密后為: KHOOR zruog
解密后為: HELLO world

上述程序中主要用到了maketrans()和translate()兩個方法。下面讓我們來詳細看一下這兩個方法的使用方法。
translate() 方法根據 maketrans() 方法給出的字符映射轉換表轉換字符串中的字符。

比如

import string
map = ''.maketrans('ABC123', 'abcDEF')#形成一個映射,將ABC123分別映射為abcDEF
s = "123ABC"  
s.translate(map)#按照map中的映射關系進行字符的替換。

 運行結果

'DEFabc'

關于“python如何實現凱撒密碼加密解密”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“python如何實現凱撒密碼加密解密”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁远县| 临海市| 淮阳县| 图木舒克市| 大厂| 监利县| 吉首市| 怀远县| 靖江市| 和硕县| 新兴县| 临漳县| 涪陵区| 杭锦后旗| 涟源市| 闵行区| 微山县| 宁安市| 德化县| 横峰县| 闽侯县| 大邑县| 沅陵县| 怀化市| 安庆市| 五大连池市| 大连市| 宜兰市| 栾城县| 黄龙县| 易门县| 汉川市| 安国市| 会泽县| 汾西县| 湾仔区| 邹平县| 西丰县| 聊城市| 镇安县| 新平|