凯撒密码实现

本文介绍了如何使用Python实现凯撒密码的加密和解密过程,通过偏移量调整加密强度,但强调其在实际应用中的局限性——安全性较低,适用于教学示例而非实际加密需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

凯撒密码(Caesar Cipher)是一种古老的替代加密技术,也称为移位密码。它是一种单字母替代密码,其中每个字母在字母表中向前或向后移动一个固定数量的位置来加密文本。这个固定的移动数量被称为偏移量或密钥。这里是一个Python示例,演示如何实现凯撒密码的加密和解密:

def caesar_encrypt(text, shift):

    encrypted_text = ""

    for char in text:

        if char.isalpha():  # 仅处理字母字符

            is_upper = char.isupper()  # 检查字符是否为大写

            char = char.lower()  # 将字符转换为小写以进行加密

            shifted_char = chr(((ord(char) - ord('a') + shift) % 26) + ord('a'))

            if is_upper:

                shifted_char = shifted_char.upper()  # 如果原字符是大写,则将加密后的字符转换为大写

            encrypted_text += shifted_char

        else:

            encrypted_text += char  # 对于非字母字符,保持不变

    return encrypted_text

def caesar_decrypt(encrypted_text, shift):

    decrypted_text = ""

    for char in encrypted_text:

        if char.isalpha():

            is_upper = char.isupper()

            char = char.lower()

            shifted_char = chr(((ord(char) - ord('a') - shift) % 26) + ord('a'))

            if is_upper:

                shifted_char = shifted_char.upper()

            decrypted_text += shifted_char

        else:

            decrypted_text += char

    return decrypted_text

# 用法示例

text = "Hello, World!"

shift = 3  # 偏移量

encrypted_text = caesar_encrypt(text, shift)

decrypted_text = caesar_decrypt(encrypted_text, shift)

print("原文: " + text)

print("加密后: " + encrypted_text)

print("解密后: " + decrypted_text)

这个示例中,caesar_encrypt 函数用于加密文本,caesar_decrypt 函数用于解密文本。你可以通过更改偏移量来改变加密的强度。这只是一个简单的凯撒密码实现,不够安全,容易受到破解攻击。在实际应用中,你可能需要使用更强大的加密算法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫一样的女子245

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值