多表代换密码vigenere的python算法实现
时间: 2024-12-17 08:30:02 浏览: 8
Vigenère密码是一种古典加密技术,它通过混合字母表来进行加密。在Python中实现Vigenère密码的一种常见做法是使用凯撒密码的迭代版本。下面是一个简单的Vigenère密码(也称为维吉尼亚密码)的Python算法实现:
```python
def vigenere_cipher(plaintext, keyword, key_length):
alphabet = "abcdefghijklmnopqrstuvwxyz"
encrypted_text = ""
for i in range(len(plaintext)):
pt_char = plaintext[i].lower()
key_char = keyword[i % len(keyword)].lower()
if pt_char.isalpha():
shift = alphabet.index(key_char)
new_index = (alphabet.index(pt_char) + shift) % 26
encrypted_text += alphabet[new_index]
else:
encrypted_text += pt_char
return encrypted_text
# 示例使用
plaintext = "Hello, world!"
keyword = "secretkey"
key_length = len(keyword)
encrypted = vigenere_cipher(plaintext, keyword, key_length)
print(f"Plaintext: {plaintext}")
print(f"Ciphertext: {encrypted}\n")
阅读全文