山海新时代汽车网

当前位置:首页 > 科技 > 正文

凯撒加密与解密及其Python代码的实现 🐍🔑

司徒保阳2025-03-09 23:32:33 科技
导读 凯撒加密是一种古老的替换加密技术,通过将字母表中的每个字母向后移动固定位数来实现。例如,如果移动3位,A就会变成D,B变成E,以此类推

凯撒加密是一种古老的替换加密技术,通过将字母表中的每个字母向后移动固定位数来实现。例如,如果移动3位,A就会变成D,B变成E,以此类推。这个方法简单但有效,尤其是在没有更高级加密手段的时代。

假设我们现在有一个明文 "china",想要用凯撒密码进行加密。我们可以选择一个密钥,比如密钥为3,这意味着我们把每个字母都向后移动3位。因此,"c" 变成 "f","h" 变成 "k",以此类推。最后得到的密文是 "fklnm"。

接下来,我们看看如何使用Python来实现这个过程。首先,我们需要创建一个函数,该函数接受明文和密钥作为输入参数。通过遍历明文中的每个字符,并将其向后移动指定的位数,可以生成密文。同样,我们还需要一个解密函数,它接收密文和密钥,将每个字符向前移动指定的位数以恢复原始明文。

下面是一个简单的Python代码示例,用于演示凯撒加密和解密的过程:

```python

def caesar_cipher_encrypt(text, shift):

encrypted_text = ""

for char in text:

if char.isalpha():

shift_amount = 65 if char.isupper() else 97

encrypted_text += chr((ord(char) + shift - shift_amount) % 26 + shift_amount)

else:

encrypted_text += char

return encrypted_text

def caesar_cipher_decrypt(encrypted_text, shift):

return caesar_cipher_encrypt(encrypted_text, 26 - shift)

plaintext = "china"

shift = 3

encrypted = caesar_cipher_encrypt(plaintext, shift)

print("Encrypted:", encrypted)

decrypted = caesar_cipher_decrypt(encrypted, shift)

print("Decrypted:", decrypted)

```

通过运行上述代码,你可以看到输出结果,其中明文 "china" 经过加密后变成了 "fklnm",再经过解密后又恢复为 "china"。这证明了凯撒密码的基本原理以及其在Python中的实现方式。💻🛡️

标 签

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章

© 2008-2025 All Rights Reserved .山海新时代汽车网 版权所有

网站地图 | 百度地图| 360地图 | 今日更新