Python凯撒密码加密程序

        凯撒密码是一种替换密码,通过将字母按照一个固定的偏移量进行移动来加密文本。以下是一个简单的Python程序,用于对文本进行凯撒密码加密和解密:

def encrypt(text, shift):
    result = ""
    for char in text:
        if char.isalpha():
            # 处理大写字母
            if char.isupper():
                result += chr((ord(char) + shift - ord('A')) % 26 + ord('A'))
            # 处理小写字母
            else:
                result += chr((ord(char) + shift - ord('a')) % 26 + ord('a'))
        else:
            # 如果不是字母,保持原样
            result += char
    return result

def decrypt(text, shift):
    # 解密实际上就是加密的逆过程,只需取负偏移即可
    return encrypt(text, -shift)

def main():
    text = input("请输入要加密的文本:")
    shift = int(input("请输入偏移量(整数):"))

    encrypted_text = encrypt(text, shift)
    decrypted_text = decrypt(encrypted_text, shift)

    print("\n加密后的文本:", encrypted_text)
    print("解密后的文本:", decrypted_text)

if __name__ == "__main__":
    main()
详细描述:
  1. encrypt 函数接受文本和偏移量作为参数,然后对每个字符进行加密。对于字母字符,根据其大小写分别进行处理,其他字符保持不变。

  2. decrypt 函数是加密函数的逆过程,接受文本和偏移量作为参数,返回原始文本。

  3. main 函数获取用户输入的文本和偏移量,并调用 encryptdecrypt 函数进行加密和解密。最后,打印加密和解密后的文本。

  4. 在程序中,用户可以输入要加密的文本和一个整数作为偏移量。不同的偏移量会导致不同的加密结果。

        凯撒密码是一种简单的替换密码,不适用于真正的安全需求,因为它容易受到频率分析等攻击。在实际应用中,应选择更强大的加密算法,例如AES。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值