Python教程

凯撒密码python实现

本文主要是介绍凯撒密码python实现,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
"""
@description: 凯撒密码
@time: 2021-12-03
@version: python3.9.6
"""


def CaesarEncode(crypto_str, shift):
    """
    凯撒加密
    :param crypto_str: 要加密的明文
    :param shift: 偏移量
    :return: 返回加密后的密文
    """
    result = ""
    num = int(shift)
    for word in crypto_str:
        ch = ord(word)
        if ord('a') <= ch <= ord('z'):
            ch = (ch + num) % 26
        if ord('A') <= ch <= ord('Z'):
            ch = (ch + num) % 26
        result += chr(ch)
    return result


def CaesarDecode(crypto_str, shift):
    """
    凯撒解密
    :param crypto_str: 要解密的密文
    :param shift: 偏移量
    :return: 返回解密后问明文
    """
    result = ""
    num = int(shift)
    for word in crypto_str:
        ch = ord(word)
        if ord('a') <= ch <= ord('z'):
            ch -= num
            if ch < ord('a'):
                ch += 26
        if ord('A') <= ch <= ord('Z'):
            ch -= num
            if ch < ord('A'):
                ch += 26
        result += chr(ch)
    return result


if __name__ == '__main__':
    shift = 1  # 偏移量
    str = "oknqdbqmoq{kag_tmhq_xqmdzqp_omqemd_qzodkbfuaz}"  # 文本
    #解密
    for i in range(1, 26):
        print(i, ":", CaesarDecode(str, shift))
        str = CaesarDecode(str, shift)
    #加密
    # print(CaesarEncode(str,shift))
这篇关于凯撒密码python实现的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!