定义函数 caesar(plain_text, shift_num)将明文plain_text右移shift_num位,返回密文
时间: 2024-09-18 15:02:25 浏览: 32
Caesar密码是一种简单的加密技术,通过将明文中的每个字母按照字母表顺序向右移动固定的位置来加密。`caesar`函数的基本实现可以是这样的:
```python
def caesar(plain_text, shift_num):
encrypted_text = ""
for char in plain_text:
if char.isalpha(): # 检查字符是否为字母
shifted_char_code = ord(char) + shift_num # 计算移动后的ASCII码
if char.islower():
new_char = chr((shifted_char_code - ord('a')) % 26 + ord('a'))
else:
new_char = chr((shifted_char_code - ord('A')) % 26 + ord('A'))
else:
new_char = char # 非字母字符保持不变
encrypted_text += new_char
return encrypted_text
# 示例:
plaintext = "Hello, World!"
shift_num = 3
ciphertext = caesar(plaintext, shift_num)
print("Ciphertext:", ciphertext)
```
在这个函数中,我们遍历输入的明文字母,将其转换成对应的ASCII码值,加上偏移量后取模26,再转换回新的字母。非字母字符直接保留不变。这样就可以得到按指定偏移量加密后的密文。
阅读全文