Python中用字典实现凯撒密码
时间: 2024-04-09 22:11:39 浏览: 138
凯撒密码是一种古老的加密方式,它将明文中的每个字母按照一定的偏移量进行替换,达到加密的目的。在Python中,可以使用字典来实现凯撒密码。
下面是一个使用字典实现凯撒密码的示例代码:
```python
def caesar_cipher(text, shift):
# 定义字典,存储每个字母对应的替换字母
mapping = {}
for i in range(26):
mapping[chr(ord('a') + i)] = chr(ord('a') + (i + shift) % 26)
mapping[chr(ord('A') + i)] = chr(ord('A') + (i + shift) % 26)
# 对明文进行加密
ciphertext = ''
for char in text:
if char in mapping:
ciphertext += mapping[char]
else:
ciphertext += char
return ciphertext
```
在上面的代码中,我们首先定义了一个字典 `mapping`,用于存储每个字母对应的替换字母。然后,我们通过循环遍历字母表,依次计算出每个字母替换后的字母,并将其存入字典中。
接着,我们对明文进行加密。遍历明文中的每个字符,如果该字符在字典中存在对应的替换字母,则将其替换为该字母;否则,直接将该字符加入密文中。最后,返回加密后的密文。
使用该函数进行加密的示例代码如下:
```python
text = 'hello, world!'
shift = 3
ciphertext = caesar_cipher(text, shift)
print(ciphertext)
```
运行结果如下:
```
khoor, zruog!
```
可以看到,原始明文中的每个字母都被替换为了按照一定偏移量后的字母,达到了加密的目的。
阅读全文