溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python怎么實(shí)現(xiàn)凱撒密碼

發(fā)布時(shí)間:2022-08-24 10:58:25 來(lái)源:億速云 閱讀:241 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇“Python怎么實(shí)現(xiàn)凱撒密碼”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來(lái)看看這篇“Python怎么實(shí)現(xiàn)凱撒密碼”文章吧。

    一、什么是愷撒密碼

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

    原文: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

    Python怎么實(shí)現(xiàn)凱撒密碼

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

    C = ( P + 3 ) mod 26

    解密方法反之,滿足:

    P = ( C – 3 ) mod 26

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

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

    三、愷撒密碼:加密

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

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

    3.1 愷撒密碼加密實(shí)例程序

    Python怎么實(shí)現(xiàn)凱撒密碼

    # 愷撒密碼加密
    def Caesar_PW_Encryption():
        inputText = input("請(qǐng)輸入明文文本: ")
        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)用這個(gè)Caesar_PW_Encryption愷撒密碼加密函數(shù),如下所示

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

    3.2 愷撒密碼加密實(shí)例程序運(yùn)行結(jié)果

    Python怎么實(shí)現(xiàn)凱撒密碼

    四、愷撒密碼:解密

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

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

    4.1 愷撒密碼解密實(shí)例程序

    Python怎么實(shí)現(xiàn)凱撒密碼

    # 愷撒密碼解密
    def Ceasar_PW_Decryption():
        inputText = input("請(qǐng)輸入加密后文本: ")
        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)用這個(gè)Caesar_PW_Encryption愷撒密碼加密函數(shù),如下所示

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

    4.2 愷撒密碼解密實(shí)例程序運(yùn)行結(jié)果

    Python怎么實(shí)現(xiàn)凱撒密碼

    五、完整程序

    # 愷撒密碼加密
    def Caesar_PW_Encryption():
        inputText = input("請(qǐng)輸入明文文本: ")
        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("請(qǐng)輸入加密后文本: ")
        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()

    以上就是關(guān)于“Python怎么實(shí)現(xiàn)凱撒密碼”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI