将恺撒加密和解密函数封装在一个类中。 主文件通过实例调用类中的加解密方法实现对字符串的加解密。
时间: 2024-09-24 21:18:03 浏览: 64
将恺撒加密和解密操作封装成一个名为`CaesarCipher`的类是一个常见的做法,这样可以保持代码组织和复用。以下是这个类的基本结构:
```python
class CaesarCipher:
def __init__(self, shift):
self.shift = shift
# 加密方法
def encrypt(self, plaintext):
encrypted_text = ""
for char in plaintext:
if char.isalpha(): # 检查是否为字母
shifted_char_code = ord(char) + self.shift
if char.islower():
encrypted_text += chr((shifted_char_code - ord('a')) % 26 + 'a')
else:
encrypted_text += chr((shifted_char_code - ord('A')) % 26 + 'A')
else:
encrypted_text += char # 非字母字符原样处理
return encrypted_text
# 解密方法
def decrypt(self, ciphertext):
return self.encrypt(ciphertext, -self.shift) # 解密就是加密过程反向操作,shift取负值
# 主文件示例
if __name__ == "__main__":
cipher = CaesarCipher(3)
plaintext = "Hello, World!"
encrypted_text = cipher.encrypt(plaintext)
print("Encrypted text:", encrypted_text)
decrypted_text = cipher.decrypt(encrypted_text)
print("Decrypted text:", decrypted_text)
阅读全文