-
凯撒加密与解密及其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中的实现方式。💻🛡️
标 签:
免责声明:本文由用户上传,如有侵权请联系删除!