使用凯撒加密将字符串"Python is a greate programming language. I like it!"进行加密,然后解密。
时间: 2024-03-10 14:43:23 浏览: 119
好的,以下是实现这个功能的 Python 代码:
```python
def caesar_encrypt(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
shifted_char = chr((ord(char) + shift - 65) % 26 + 65) if char.isupper() else chr((ord(char) + shift - 97) % 26 + 97)
encrypted_text += shifted_char
else:
encrypted_text += char
return encrypted_text
def caesar_decrypt(text, shift):
return caesar_encrypt(text, -shift)
# 加密
text = "Python is a great programming language. I like it!"
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()` 函数,分别用于加密和解密字符串。加密函数通过循环遍历字符串中的每个字符,如果是字母则进行移位操作,否则直接保留。解密函数则是调用加密函数,传入负数的移位数即可。
你可以调用这个程序并输出加密后和解密后的字符串。例如:
```python
text = "Python is a great programming language. I like it!"
shift = 3
encrypted_text = caesar_encrypt(text, shift)
decrypted_text = caesar_decrypt(encrypted_text, shift)
print("原始字符串:", text)
print("加密后的字符串:", encrypted_text)
print("解密后的字符串:", decrypted_text)
```
输出:
```
原始字符串: Python is a great programming language. I like it!
加密后的字符串: Sbwkrq lv d juhdw surjudpplqj odqjxdjh. L olnh lw!
解密后的字符串: Python is a great programming language. I like it!
```
阅读全文