维吉尼亚密码python加密
时间: 2023-09-05 21:07:51 浏览: 118
python程序维吉尼亚密码破解
5星 · 资源好评率100%
以下是维吉尼亚密码的Python加密代码:
```
def vigenere_encrypt(plaintext, key):
ciphertext = ""
key_index = 0
for char in plaintext:
if char.isalpha():
key_letter = key[key_index % len(key)]
shift = ord(key_letter.upper()) - 65
if char.isupper():
ciphertext += chr((ord(char) + shift - 65) % 26 + 65)
else:
ciphertext += chr((ord(char) + shift - 97) % 26 + 97)
key_index += 1
else:
ciphertext += char
return ciphertext
```
该函数接受两个参数:明文和密钥。它会迭代明文中的每个字符,如果是字母,则使用密钥中的对应字符来确定移位数量,并将该字母加密。如果不是字母,则直接将其添加到密文中。
例如,调用`vigenere_encrypt("HELLO WORLD", "SECRET")`将返回`"SGRRX AZKMG"`。
阅读全文