python实现凯撒密码小写字母用后三位大写字母替换,大写字母用前两位小写字母替换,数字符号用加1模运算其它符号保持不变,加密和解密各一段
时间: 2024-01-03 20:03:16 浏览: 45
好的,我来分别给你展示加密和解密的代码。
加密:
```python
def caesar_cipher(text):
encrypted_text = ""
for char in text:
if char.isalpha():
if char.islower():
new_char = chr((ord(char) - 97 + 23) % 26 + 65) # 小写字母用后三位大写字母替换
else:
new_char = chr((ord(char) - 65 + 2) % 26 + 97) # 大写字母用前两位小写字母替换
elif char.isdigit():
new_char = str((int(char) + 1) % 10) # 数字用加1模运算
else:
new_char = char # 其它符号保持不变
encrypted_text += new_char
return encrypted_text
```
解密:
```python
def caesar_decipher(text):
decrypted_text = ""
for char in text:
if char.isalpha():
if char.islower():
new_char = chr((ord(char) - 65 - 23) % 26 + 97) # 小写字母用后三位大写字母替换
else:
new_char = chr((ord(char) - 97 - 2) % 26 + 65) # 大写字母用前两位小写字母替换
elif char.isdigit():
new_char = str((int(char) - 1) % 10) # 数字用加1模运算
else:
new_char = char # 其它符号保持不变
decrypted_text += new_char
return decrypted_text
```
在加密函数中,我们首先检查字符是否是字母。如果是小写字母,我们将其替换为后三位大写字母;如果是大写字母,我们将其替换为前两位小写字母。如果字符是数字,我们将其加1并进行模运算,以保证它仍然是一个数字。最后,我们将所有字符连接起来并返回加密后的文本。
解密函数与加密函数类似,但我们需要使用相反的算法来还原原始文本。
注意:在此示例中,加密和解密算法是硬编码的,实际应用中应该考虑使用更复杂和安全的算法。