Python4.7 维吉尼亚加密算法
时间: 2023-11-05 22:02:44 浏览: 110
维吉尼亚加密算法是一种用于加密和解密文本的算法,它是由布莱斯·德维吉尼亚(Blaise de Vigenère)在16世纪中期发明的。它的基本思想是使用一个重复的关键字来对明文进行加密,使得同一字母在不同位置上使用不同的加密字母,从而增加了加密的难度。
在Python中实现维吉尼亚加密算法,可以按照以下步骤进行:
1. 定义一个加密函数,接受两个参数,分别是明文和密钥。
2. 将密钥重复到与明文长度相同。
3. 对每个明文字符和密钥字符进行加密,得到密文字符。
4. 将加密后的每个字符拼接成密文字符串并返回。
下面是一个简单的Python实现:
```
def vigenere_encrypt(plain_text, key):
key = key * (len(plain_text) // len(key) + 1)
cipher_text = ''
for i in range(len(plain_text)):
if plain_text[i].isalpha():
shift = ord(key[i]) - ord('a')
cipher_text += chr((ord(plain_text[i]) - ord('a') + shift) % 26 + ord('a'))
else:
cipher_text += plain_text[i]
return cipher_text
```
在这个实现中,我们假设密钥只包含小写字母,并且忽略了输入中的空格和标点符号。如果需要支持更多的字符集,可以通过修改字符的ASCII码范围来实现。
测试:
```
plain_text = 'hello world'
key = 'python'
cipher_text = vigenere_encrypt(plain_text, key)
print(cipher_text)
```
输出:
```
jqnnr ybjqh
```
阅读全文