头歌python维吉尼亚密码加密
时间: 2024-10-16 09:04:57 浏览: 49
Python中的维吉尼亚密码(Vigenere Cipher),也被称为凯撒密码的一种改进版,是一种基于字母替换的古典密码技术。它通过将明文和密钥按字符长度逐位相加(或相减,取决于特定的模式),然后对字母表进行循环移位来加密文本。例如,使用简单的模26移位,每个字母按照字母表向后移动密钥字母的位置。
以下是基本的维吉尼亚密码加密步骤:
1. 获取明文和密钥。
2. 将两者逐个字符组合在一起,形成一组新的字符对。
3. 对每一对字符应用相同的加密规则,通常是字母表移位。
4. 移位后的结果就是加密后的字符。
在Python中,可以使用字符串操作来实现这个过程。下面是一个简单的例子:
```python
def vigenere_cipher(plaintext, key):
alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
encrypted_text = ''
for i in range(len(plaintext)):
if plaintext[i].isalpha():
shift = alphabet.index(key[i % len(key)])
ciphertext_char = (alphabet[(alphabet.index(plaintext[i]) + shift) % 26]).upper()
else:
ciphertext_char = plaintext[i]
encrypted_text += ciphertext_char
return encrypted_text
# 示例使用
plaintext = "HELLO WORLD"
key = "SECRETKEY"
encrypted = vigenere_cipher(plaintext, key)
print(f"原始文字:{plaintext}\n加密后:{encrypted}")
```
阅读全文