凯撒密码python编
时间: 2024-06-11 07:03:41 浏览: 78
凯撒密码是一种简单的替换加密方法,它通过将明文中的每个字母按照固定的偏移量进行位移来实现加密。在Python中,你可以使用列表或其他数据结构来映射字符和它们的加密版本。以下是一个简单的凯撒密码实现:
```python
def caesar_cipher_encrypt(plaintext, shift):
encrypted_text = ""
for char in plaintext:
if char.isalpha(): # 检查字符是否为字母
shift_amount = shift % 26 # 保持字母表范围
if char.islower():
encrypted_text += chr((ord(char) - ord('a') + shift_amount) % 26 + ord('a'))
else:
encrypted_text += chr((ord(char) - ord('A') + shift_amount) % 26 + ord('A'))
else: # 非字母字符保持原样
encrypted_text += char
return encrypted_text
def caesar_cipher_decrypt(ciphertext, shift):
return caesar_cipher_encrypt(ciphertext, -shift) # 解密只需用相反的偏移量
# 示例
plaintext = "Hello, World!"
shift = 3
encrypted = caesar_cipher_encrypt(plaintext, shift)
decrypted = caesar_cipher_decrypt(encrypted, shift)
print(f"Original text: {plaintext}")
print(f"Ciphertext (shift={shift}): {encrypted}")
print(f"Decrypted text: {decrypted}")
```
阅读全文