维吉尼亚密码python
时间: 2023-07-26 10:30:17 浏览: 59
维吉尼亚密码
维吉尼亚密码是一种古典密码,它利用了字母表中字母的周期性重复性质,将明文中的每个字母都通过一个固定的密码字母表中的字母进行替换,从而得到密文。下面是一个简单的 Python 实现:
```python
def vigenere_cipher(plain_text, key):
# 将明文和密钥都转换为大写字母
plain_text = plain_text.upper()
key = key.upper()
# 定义密文变量
cipher_text = ""
# 定义字母表
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
# 循环遍历明文中的每个字母
for i in range(len(plain_text)):
# 获取当前字母在字母表中的索引
plain_index = letters.index(plain_text[i])
# 获取当前密钥字母在字母表中的索引
key_index = letters.index(key[i % len(key)])
# 获取替换后的字母
cipher_index = (plain_index + key_index) % 26
cipher_text += letters[cipher_index]
# 返回密文
return cipher_text
```
其中,plain_text 是明文,key 是密钥。调用该函数即可得到对应的密文。
阅读全文