凯撒密码加密解密算法Python
时间: 2024-03-06 19:45:14 浏览: 99
Python实现凯撒密码加密解密
凯撒密码是一种简单的替换密码,它是通过将字母表中的每个字母向后(或向前)移动固定数量的位置来进行加密和解密的。这个固定的移动数量被称为偏移量或密钥。
下面是一个用Python实现凯撒密码加密和解密的示例代码:
```python
def caesar_encrypt(text, key):
encrypted_text = ""
for char in text:
if char.isalpha():
if char.isupper():
encrypted_text += chr((ord(char) - 65 + key) % 26 + 65)
else:
encrypted_text += chr((ord(char) - 97 + key) % 26 + 97)
else:
encrypted_text += char
return encrypted_text
def caesar_decrypt(encrypted_text, key):
decrypted_text = ""
for char in encrypted_text:
if char.isalpha():
if char.isupper():
decrypted_text += chr((ord(char) - 65 - key) % 26 + 65)
else:
decrypted_text += chr((ord(char) - 97 - key) % 26 + 97)
else:
decrypted_text += char
return decrypted_text
# 示例用法
text = "Hello, World!"
key = 3
encrypted_text = caesar_encrypt(text, key)
print("加密后的文本:", encrypted_text)
decrypted_text = caesar_decrypt(encrypted_text, key)
print("解密后的文本:", decrypted_text)
```
这段代码中,`caesar_encrypt`函数用于加密文本,`caesar_decrypt`函数用于解密文本。`text`是要加密或解密的文本,`key`是偏移量或密钥,表示字母向后(或向前)移动的位置数。
阅读全文