假设用户可能使用的输入仅包含西文字母,即英文大小写字母a~zA~Z和特殊字符,请编写一个程序,对输入字符串进行凯撒密码加密,直接输出结果,其中特殊字符不进行加密处理。
时间: 2024-10-09 19:02:13 浏览: 20
word文档中怎么解决输入数字和英文字母出现乱码方框.pdf
凯撒密码是一种简单的替换加密技术,通过将字母表中的每个字符按照固定位移进行替换来达到加密的目的。假设位移值(key)是固定的,我们可以创建一个函数来实现这个过程。以下是一个Python程序示例:
```python
def caesar_cipher_encrypt(input_string, key):
encrypted_string = ""
for char in input_string:
if char.isalpha():
shift = key % 26
if char.islower():
new_char = chr((ord(char) - ord('a') + shift) % 26 + ord('a'))
else:
new_char = chr((ord(char) - ord('A') + shift) % 26 + ord('A'))
else:
# 对于非字母字符,保持不变
new_char = char
encrypted_string += new_char
return encrypted_string
# 用户输入
plaintext = input("请输入明文字符串 (只包含英文大小写字母): ")
shift = int(input("请输入位移值: "))
encrypted_text = caesar_cipher_encrypt(plaintext, shift)
print(f"加密后的密文: {encrypted_text}")
阅读全文