编程实现移位密码包含加密解密两个接口
时间: 2024-09-24 21:10:08 浏览: 39
移位密码是一种简单的替换式加密技术,在编程中实现通常包括加密和解密两个主要步骤。它通过将明文字符按照固定的位移值进行移动来转换成密文,然后对于解密过程,再逆向操作恢复原始信息。
1. **加密接口**:
- 接口定义:可以创建一个名为`ShiftCipher`或者`EncryptionService`的接口,其中包含两个方法:
- `encrypt(message: str, shift: int) -> str`: 此方法接收明文字符串`message`和偏移量`shift`作为输入,将每个字符根据字母表顺序左移或右移`shift`位置,并返回加密后的密文。
```python
class EncryptionService:
def encrypt(self, message: str, shift: int):
encrypted_message = ""
for char in message:
if char.isalpha():
shift_amount = ord('a') if char.islower() else ord('A')
encrypted_char = chr((ord(char) - shift_amount + shift) % 26 + shift_amount)
encrypted_message += encrypted_char
else:
encrypted_message += char
return encrypted_message
```
2. **解密接口**:
- 类似地,另一个方法`decrypt(encrypted_message: str, shift: int) -> str`负责接收密文和相同的偏移量,将其还原回原样。
```python
class EncryptionService:
def decrypt(self, encrypted_message: str, shift: int):
decrypted_message = ""
for char in encrypted_message:
if char.isalpha():
shift_amount = ord('a') if char.islower() else ord('A')
decrypted_char = chr((ord(char) - shift_amount - shift) % 26 + shift_amount)
decrypted_message += decrypted_char
else:
decrypted_message += char
return decrypted_message
```
阅读全文