使用python编写程序 明文: cipher 的k=7,b=6的 方射加密和解密。
时间: 2024-10-20 17:09:23 浏览: 35
在Python中,我们可以使用Caesar Cipher(凯撒密码)算法来实现明文(plaintext)通过密钥(key)k进行加密(encryption)和解密(decryption),其中b作为偏移量。凯撒密码是一种简单的替换式加密,它将字母表中的每个字符向后移动指定的位置。
这是一个基本的实现示例:
```python
def caesar_cipher_encrypt(plain_text, shift):
encrypted_text = ""
for char in plain_text:
if char.isalpha(): # 只处理字母
shift_amount = shift % 26 # 避免超出英文字母范围
if char.islower():
new_char = chr((ord(char) - ord('a') + shift_amount) % 26 + ord('a'))
else:
new_char = chr((ord(char) - ord('A') + shift_amount) % 26 + ord('A'))
else:
new_char = char # 非字母字符保持不变
encrypted_text += new_char
return encrypted_text
def caesar_cipher_decrypt(cipher_text, shift):
return caesar_cipher_encrypt(cipher_text, -shift)
# 示例
plain_text = "Hello, World!"
shift = 7
encrypted_text = caesar_cipher_encrypt(plain_text, shift)
print(f"加密后的文本: {encrypted_text}")
decrypted_text = caesar_cipher_decrypt(encrypted_text, shift)
print(f"解密后的文本: {decrypted_text}")
```
在这个例子中,`cipher_text`会是明文经过7位偏移后的结果,而`decrypted_text`则是对加密文本进行7位偏移的逆操作恢复原样。
阅读全文