欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解凱撒密碼的原理及Python實現(xiàn)

 更新時間:2022年08月21日 16:41:41   作者:編程愛好者-阿新  
凱撒密碼是古羅馬愷撒大帝用來對軍事情報進行加密的算法,它采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列該字符后面第三個字符。本文主要為大家講解了凱撒密碼的原理及實現(xiàn),需要的可以參考一下

一、什么是愷撒密碼

愷撒密碼是古羅馬愷撒大帝用來對軍事情報進行加密的算法,它采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列該字符后面第三個字符:

原文:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

密文:D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

原文字符P,其密文字符C滿足如下條件:

C = ( P + 3 ) mod 26

解密方法反之,滿足:

P = ( C – 3 ) mod 26

二、程序運行環(huán)境

程序運行環(huán)境是:pycharm2021

三、愷撒密碼:加密

愷撒密碼的加密算法程序首先接收用戶輸入的文本

然后對字母a-z和字母A-Z按照密碼算法進行轉(zhuǎn)換

3.1 愷撒密碼加密實例程序

# 愷撒密碼加密
def Caesar_PW_Encryption():
    inputText = input("請輸入明文文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") + 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") + 3) % 26), end='')
        else:
            print(index, end='')

在主函數(shù)中調(diào)用這個Caesar_PW_Encryption愷撒密碼加密函數(shù),如下所示

if __name__ == '__main__':
    # 愷撒密碼加密
    Caesar_PW_Encryption()

3.2 愷撒密碼加密實例程序運行結(jié)果

四、愷撒密碼:解密

愷撒密碼的解密算法程序首先接收用戶輸入的加密文本

然后對字母a-z和字 母A-Z按照密 碼算法進行反向轉(zhuǎn)換

4.1 愷撒密碼解密實例程序

# 愷撒密碼解密
def Ceasar_PW_Decryption():
    inputText = input("請輸入加密后文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") - 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") - 3) % 26), end='')
        else:
            print(index, end='')

在主函數(shù)中調(diào)用這個Caesar_PW_Encryption愷撒密碼加密函數(shù),如下所示

if __name__ == '__main__':
    # 愷撒密碼加密
    Caesar_PW_Encryption()

    # 愷撒密碼解密
    Ceasar_PW_Decryption()

4.2 愷撒密碼解密實例程序運行結(jié)果

五、完整程序

# 愷撒密碼加密
def Caesar_PW_Encryption():
    inputText = input("請輸入明文文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") + 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") + 3) % 26), end='')
        else:
            print(index, end='')

# 愷撒密碼解密
def Ceasar_PW_Decryption():
    inputText = input("請輸入加密后文本: ")
    for index in inputText:
        if "a" <= index <= "z":
            print(chr(ord("a") + (ord(index) - ord("a") - 3) % 26), end='')
        elif "A" <= index <= "Z":
            print(chr(ord("A") + (ord(index) - ord("A") - 3) % 26), end='')
        else:
            print(index, end='')

if __name__ == '__main__':
    # 愷撒密碼加密
    Caesar_PW_Encryption()

    # 愷撒密碼解密
    Ceasar_PW_Decryption()

六、總結(jié)

本文主要講解了愷撒密碼:采用了替換方法對信息中的每一個英文字符循環(huán)替換為字母表序列該字符后面第三個字符。并通過一個實例程序來進一步加強對愷撒密碼的理解與運用。

以上就是一文詳解凱撒密碼的原理及Python實現(xiàn)的詳細內(nèi)容,更多關(guān)于Python凱撒密碼的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 已安裝tensorflow-gpu,但keras無法使用GPU加速的解決

    已安裝tensorflow-gpu,但keras無法使用GPU加速的解決

    今天小編就為大家分享一篇已安裝tensorflow-gpu,但keras無法使用GPU加速的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python基于Tkinter編寫crc校驗工具

    Python基于Tkinter編寫crc校驗工具

    這篇文章主要介紹了Python基于Tkinter編寫crc校驗工具,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • python中子類繼承父類的__init__方法實例

    python中子類繼承父類的__init__方法實例

    這篇文章主要給大家詳細介紹了python中子類如何繼承父類的__init__方法,文中給出了詳細的示例代碼,相信對大家的理解和學(xué)習(xí)具有一定參考價值,有需要的朋友們下面來跟著小編一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-12-12
  • Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能示例

    這篇文章主要介紹了Python實現(xiàn)嵌套列表及字典并按某一元素去重復(fù)功能,涉及Python列表嵌套列表、列表嵌套字典,及按照某一元素去重復(fù)的相關(guān)操作方法,需要的朋友可以參考下
    2017-11-11
  • Python中字符串String的基本內(nèi)置函數(shù)與過濾字符模塊函數(shù)的基本用法

    Python中字符串String的基本內(nèi)置函數(shù)與過濾字符模塊函數(shù)的基本用法

    這篇文章主要介紹了Python中字符串String的基本內(nèi)置函數(shù)與過濾字符模塊函數(shù)的基本用法 ,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Python實現(xiàn)不規(guī)則圖形填充的思路

    Python實現(xiàn)不規(guī)則圖形填充的思路

    這篇文章主要介紹了Python實現(xiàn)不規(guī)則圖形填充的思路,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • 淺談Python里面小數(shù)點精度的控制

    淺談Python里面小數(shù)點精度的控制

    今天小編就為大家分享一篇淺談Python里面小數(shù)點精度的控制,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python?如何截取字符函數(shù)

    Python?如何截取字符函數(shù)

    這篇文章主要介紹了Python?如何截取字符函數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python中requests模塊的請求參數(shù)詳解

    Python中requests模塊的請求參數(shù)詳解

    這篇文章主要介紹了Python中requests模塊的請求參數(shù)詳解,requests模塊是一個網(wǎng)絡(luò)請求模塊,可以幫助我們模擬成客戶端去請求服務(wù)器的數(shù)據(jù),我們今天就是主要針對這個模塊進行學(xué)習(xí),需要的朋友可以參考下
    2023-08-08
  • Python實現(xiàn)UDP與TCP通信的示例詳解

    Python實現(xiàn)UDP與TCP通信的示例詳解

    UDP是一種無連接的、不可靠的傳輸協(xié)議;TCP是一種可靠的、面向連接的傳輸協(xié)議。這篇文章主要介紹了Python實現(xiàn)UDP與TCP通信的方法,需要的可以參考一下
    2023-03-03

最新評論