凯撒密码python作业实例
时间: 2024-09-22 13:03:31 浏览: 48
python怎么解决凯撒密码
5星 · 资源好评率100%
凯撒密码是一种简单的替换加密技术,它通过将字母表中的每个字符向后移动固定位数来进行编码。在Python中,我们可以很容易地实现这个过程。下面是一个基本的凯撒密码的实例作业:
```python
def caesar_cipher(text, shift):
encrypted_text = ""
for char in text:
if char.isalpha(): # 检查字符是否为字母
shift_amount = shift % 26 # 对于大写字母,shift可能超过26,所以取余
new_char_code = ord(char.lower()) + shift_amount # 转换成ASCII码后加移位
if char.islower():
encrypted_text += chr(new_char_code)
else: # 如果是大写字母,区分大小写处理
encrypted_text += chr((new_char_code - ord('a') + 26) % 26 + ord('A'))
else:
encrypted_text += char # 非字母字符保持不变
return encrypted_text
# 示例
plaintext = "Hello, World!"
shift = 3
encrypted_text = caesar_cipher(plaintext, shift)
print(f"原文: {plaintext}")
print(f"密文: {encrypted_text}")
# 解密示例
decrypted_text = caesar_cipher(encrypted_text, -shift) # 移位相反即可解密
print(f"解密文: {decrypted_text}")
```
在这个例子中,`caesar_cipher`函数接受两个参数:原始文本(`text`)和位移量(`shift`)。然后遍历文本中的每个字符,如果是字母,则按照指定的位移进行替换;如果不是字母,则原样保留。
阅读全文