用字典实现凯撒密码
时间: 2024-01-22 20:20:07 浏览: 103
凯撒密码是一种非常简单的加密算法,可以通过字典实现。下面是一个用 Python 实现凯撒密码的示例代码:
```python
def caesar_cipher(text, shift):
"""
凯撒密码加密函数
:param text: 明文
:param shift: 移位数,即加密密钥
:return: 密文
"""
# 构造字母表
alphabet = 'abcdefghijklmnopqrstuvwxyz'
# 构造字典
dict_alphabet = {}
for i, letter in enumerate(alphabet):
dict_alphabet[letter] = i
# 加密过程
cipher_text = ''
for letter in text.lower():
if letter not in dict_alphabet:
cipher_text += letter
else:
index = (dict_alphabet[letter] + shift) % 26
cipher_text += alphabet[index]
return cipher_text
```
在这个示例代码中,我们首先构造了一个字典 `dict_alphabet`,用于将每个字母映射为它在字母表中的位置。然后,我们遍历明文中的每个字符,如果不是字母,则直接拼接到密文中;如果是字母,则将它在字典中的位置加上移位数 `shift` 并对 26 取模,得到加密后字母在字母表中的位置 `index`,然后将字母表中位置为 `index` 的字母拼接到密文中。最后返回密文即可。
阅读全文