最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

一、什么是愷撒密碼

愷撒密碼是古羅馬愷撒大帝用來對(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

原文字符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í)例程序

# 愷撒密碼加密
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é)果

四、愷撒密碼:解密

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

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

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

# 愷撒密碼解密
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é)果

五、完整程序

# 愷撒密碼加密
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()

六、總結(jié)

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

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

相關(guān)文章

最新評(píng)論

灵川县| 广元市| 兴海县| 四子王旗| 集贤县| 海兴县| 阿拉善右旗| 新营市| 堆龙德庆县| 卢湾区| 射洪县| 宁乡县| 怀宁县| 临江市| 宁武县| 兴和县| 浦北县| 安徽省| 昂仁县| 明溪县| 加查县| 彭泽县| 隆德县| 聊城市| 墨玉县| 平乡县| 泌阳县| 博湖县| 长葛市| 冕宁县| 蛟河市| 巫山县| 永春县| 广宗县| 香格里拉县| 恭城| 绍兴县| 汾阳市| 盘锦市| 吉安县| 昌图县|