维吉尼亚(Vigenere)密码用Python加密与解密
时间: 2024-09-30 19:15:20 浏览: 157
解密程序_加密_winda1k_Vigenere_周瑞生_解密_
维吉尼亚密码(也称为凯撒密码的一种变种),是一种基于字母替换的古典加密技术,通过将明文与密钥相位移来实现加密。在Python中,我们可以创建一个简单的实现来加密和解密。
**加密示例**:
```python
def vigenere_encrypt(plaintext, key):
alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ciphertext = ""
for i in range(len(plaintext)):
if plaintext[i].isalpha():
shift = ord(key[i % len(key)].upper()) - ord('A')
encrypted_char = (ord(plaintext[i].upper()) + shift) % 26
ciphertext += alphabet[encrypted_char]
else:
ciphertext += plaintext[i]
return ciphertext
# 示例用法
plaintext = "Hello, World!"
key = "Key12345"
ciphertext = vigenere_encrypt(plaintext, key)
print("加密后的文本:", ciphertext)
```
**解密示例**:
```python
def vigenere_decrypt(ciphertext, key):
return vigenere_encrypt(ciphertext, key.upper())
decrypted_text = vigenere
阅读全文