python请编写一个程序实现恺撒加密算法的过程
时间: 2023-09-06 14:00:46 浏览: 104
恺撒加密算法是一种简单的替换加密方法,通过将字母按照一定的位移进行替换来实现加密和解密。
下面是使用Python编写的恺撒加密算法的程序实现:
```python
def caesar_encrypt(plain_text, shift):
cipher_text = ""
for char in plain_text:
if char.isalpha():
ascii_offset = 65 if char.isupper() else 97
shifted_char = chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
cipher_text += shifted_char
else:
cipher_text += char
return cipher_text
def caesar_decrypt(cipher_text, shift):
plain_text = ""
for char in cipher_text:
if char.isalpha():
ascii_offset = 65 if char.isupper() else 97
shifted_char = chr((ord(char) - ascii_offset - shift) % 26 + ascii_offset)
plain_text += shifted_char
else:
plain_text += char
return plain_text
text = "Hello, Caesar!"
shift = 3
encrypted_text = caesar_encrypt(text, shift)
print("加密结果:", encrypted_text)
decrypted_text = caesar_decrypt(encrypted_text, shift)
print("解密结果:", decrypted_text)
```
在上述程序中,`caesar_encrypt`函数用于加密明文,`caesar_decrypt`函数用于解密密文。其中,`plain_text`表示明文字符串,`shift`表示位移大小。`caesar_encrypt`函数通过遍历明文中的每一个字符,将字母按照指定的位移进行替换,最终得到密文。`caesar_decrypt`函数则对密文进行反向操作,实现解密过程。
在程序末尾,我使用了一个简单的例子进行测试。首先,将明文字符串"Hello, Caesar!"使用位移大小为3的恺撒加密算法进行加密,得到密文。然后使用同样的位移大小进行解密,得到原始的明文。最终打印出加密和解密结果。
这段程序实现了恺撒加密算法的过程,能够对输入的明文进行加密和对密文进行解密。
阅读全文