python实现凯撒密码
时间: 2023-09-15 07:15:11 浏览: 68
凯撒密码是一种简单的加密算法,它的原理是将明文中的每个字符都向后移动若干个位置,移动的位数称为“偏移量”,得到密文。解密时只需将密文中的每个字符向前移动相同的偏移量即可得到明文。
以下是一个简单的Python实现凯撒密码的程序:
```python
def caesar_cipher(text, offset):
result = ''
for char in text:
if char.isalpha(): # 判断是否为字母
if char.isupper(): # 判断是否为大写字母
result += chr((ord(char) - 65 + offset) % 26 + 65) # 将字母向后移动offset个位置
else:
result += chr((ord(char) - 97 + offset) % 26 + 97)
else:
result += char
return result
if __name__ == '__main__':
text = input('请输入明文:')
offset = int(input('请输入偏移量:'))
cipher = caesar_cipher(text, offset)
print('加密后的密文为:', cipher)
plaintext = caesar_cipher(cipher, -offset)
print('解密后的明文为:', plaintext)
```
程序中的`caesar_cipher`函数实现了凯撒密码的加密和解密操作。在加密时,它遍历输入的明文中的每个字符,如果是字母则将其向后移动`offset`个位置,否则不做处理。在解密时,只需将密文向前移动相同的偏移量即可得到明文。
运行程序后,输入明文和偏移量,即可得到加密后的密文和解密后的明文。注意,偏移量必须是正整数。