问题描述】】凯撒密码是一种替换加密的技术,明文中所有的字母都在字母表上向后或者向前按照一个固定数目进行偏移后被替换成密文。例如当偏移量是3的时候,所有的字母A被替换成D,B变成E,以此类推。 输入一个字符串明文,再输入一个正整数代表偏移量,用凯撒密码加密后输出。
时间: 2024-10-19 18:13:12 浏览: 46
凯撒密码的加密过程非常简单,只需要遍历明文中的每个字符,然后根据给定的偏移量在字母表上移动相应的位数。以下是Python的一个简单实现:
```python
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha(): # 检查是否是字母
shifted_char = chr(((ord(char.lower()) - ord('a') + shift) % 26) + ord('a')) # 对小写字母处理
if char.isupper():
shifted_char = chr(((ord(char.upper()) - ord('A') + shift) % 26) + ord('A'))
encrypted_text += shifted_char
else:
encrypted_text += char # 非字母字符不做处理
return encrypted_text
# 示例输入
plaintext = "Hello, World!"
shift = 3
encrypted_text = caesar_cipher(plaintext, shift)
print(f"Ciphertext with a shift of {shift}: {encrypted_text}")
```
在这个例子中,如果你输入的是 "Hello, World!" 和偏移量3,它将会输出 "Khoor, Zruog!",这是原始文本经过3位偏移后的密文。
阅读全文