python实现维吉尼亚密码
时间: 2024-10-16 18:04:01 浏览: 27
维吉尼亚密码(Vigenere Cipher),也称为加盘密码,是一种古典加密技术,通过混合字母表的方式来加密文本。在Python中实现维吉尼亚密码,通常会用到一个密钥循环的概念。下面是一个简单的示例:
```python
def encrypt_vigenere(plaintext, keyword):
alphabet = 'abcdefghijklmnopqrstuvwxyz'
key_alphabet = alphabet.upper()
encrypted_text = ''
for i in range(len(plaintext)):
char = plaintext[i]
if char.isalpha():
shift = key_alphabet.index(keyword[i % len(keyword)])
new_index = (alphabet.index(char) + shift) % 26
encrypted_text += key_alphabet[new_index]
else:
encrypted_text += char
return encrypted_text
def decrypt_vigenere(ciphertext, keyword):
return encrypt_vigenere(ciphertext, keyword)[::-1]
# 示例
plaintext = "Hello, World!"
keyword = "KEYWORD"
encrypted = encrypt_vigenere(plaintext, keyword)
decrypted = decrypt_vigenere(encrypted, keyword)
print(f"Encrypted text: {encrypted}")
print(f"Decrypted text: {decrypted}")
```
在这个例子中,`encrypt_vigenere`函数接受明文和关键词作为输入,`decrypt_vigenere`则是对加密后的文本进行解密。注意,这里的解密是对加密过程的逆操作。
阅读全文