帮我写一个程序,输入密钥,使用维吉尼亚密码加密信息
时间: 2023-05-20 22:03:19 浏览: 100
好的,以下是一个使用维吉尼亚密码加密信息的 Python 代码:
```
def vigenere_cipher(plain_text, key):
# 将明文和密钥转换为大写字母
plain_text = plain_text.upper()
key = key.upper()
# 生成密钥序列
key_sequence = []
for i in range(len(plain_text)):
key_sequence.append(key[i % len(key)])
# 加密明文
cipher_text = ""
for i in range(len(plain_text)):
if plain_text[i].isalpha():
# 将字母转换为数字,A 对应 0,B 对应 1,以此类推
plain_num = ord(plain_text[i]) - ord('A')
key_num = ord(key_sequence[i]) - ord('A')
# 使用维吉尼亚密码加密
cipher_num = (plain_num + key_num) % 26
# 将加密后的数字转换为字母
cipher_text += chr(cipher_num + ord('A'))
else:
# 非字母字符直接拼接
cipher_text += plain_text[i]
return cipher_text
# 示例
plain_text = "Hello, World!"
key = "SECRET"
cipher_text = vigenere_cipher(plain_text, key)
print(cipher_text)
```
输入密钥后,调用 `vigenere_cipher` 函数即可加密信息。注意,这个代码只是一个简单的示例,实际使用时需要考虑更多的安全性问题。
另外,如果您有更多的编程问题,欢迎随时提出,我会尽力回答。
阅读全文