维吉尼亚密码希尔密码python实现
时间: 2024-09-18 15:01:53 浏览: 39
Python实现维吉尼亚密码(加解密)
维吉尼亚密码(Vigenere Cipher),也称为希尔密码(Playfair Cipher),是一种基于字母表移位的加密技术,它通过将明文和密钥相间排列来加密消息。在Python中实现维吉尼亚密码,你需要创建一个函数来处理加密过程,这里是一个简单的示例:
```python
def vigenere_cipher(plaintext, key):
key_length = len(key) % 26 # 如果密钥长度不是26的倍数,取模26以适应循环
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
def shift(char, key_index):
return alphabet[(alphabet.index(char) + alphabet.index(key[key_index])) % 26]
encrypted_text = ''
for i in range(len(plaintext)):
if plaintext[i].isalpha():
if i < key_length and plaintext[i] == key[i]:
encrypted_text += plaintext[i]
else:
key_index = (i % key_length)
encrypted_text += shift(plaintext[i], key_index)
else:
encrypted_text += plaintext[i] # 对非字母字符保持不变
return encrypted_text
# 使用示例
plaintext = "Hello, World!"
key = "KEY"
encrypted = vigenere_cipher(plaintext, key)
print(f"Encrypted message: {encrypted}")
阅读全文