编程py字符串方法应用:恺撒密码
时间: 2023-12-22 21:06:45 浏览: 67
恺撒密码实际上是一种古老的加密方法,它基于将明文中的字符按照一定的规律进行偏移,从而得到密文。在 Python中,可以通过编写一个简单的函数来实现恺撒密码加密和解密:
``` python
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha():
ascii_code = ord(char)
shifted_ascii_code = (ascii_code + shift - 65) % 26 + 65 if char.isupper() else (ascii_code + shift - 97) % 26 + 97
encrypted_text += chr(shifted_ascii_code)
else:
encrypted_text += char
return encrypted_text
```
在这个函数中,参数 text表示需要进行加密或解密的文本,参数 shift表示偏移量。函数首先将文本中的每个字符进行遍历,然后判断该字符是否是一个字母。如果是字母,则将其对应的 ASCII码进行偏移,并将结果转换回对应的字母;如果不是字母,则直接将其加入到密文中。最后,函数返回加密或解密后的文本。
例如,我们可以使用如下代码来加密一个字符串:
``` python
plain_text = "hello world"
shift = 3
encrypted_text = caesar_cipher(plain_text, shift)
print("Encrypted text:", encrypted_text)
```
这将输出:
```
Encrypted text: khoor zruog
```
其中,"hello world"被加密成了"khoor zruog"。要解密这个密文,只需要将偏移量取相反数即可。
阅读全文