Python 关键词密码
我已经尝试了很长一段时间,试图创建一个关键字密码,这样我就可以创建一个密码应用程序。然而,我似乎不能得到它的权利,我只能创建一个正常的密码有人可以请改变我的密码为关键字密码Python 关键词密码,python,python-3.4,Python,Python 3.4,我已经尝试了很长一段时间,试图创建一个关键字密码,这样我就可以创建一个密码应用程序。然而,我似乎不能得到它的权利,我只能创建一个正常的密码有人可以请改变我的密码为关键字密码 import string alphabet = string.ascii_lowercase message = input('Please insert the message you want to encrypt: ') key = int(input('What key value do you want in
import string
alphabet = string.ascii_lowercase
message = input('Please insert the message you want to encrypt: ')
key = int(input('What key value do you want in your encryption? '))
output = []
for m in message:
if m in alphabet:
output.append(alphabet[(alphabet.index(m) + key) % (len(alphabet))])
print(''.join(output))
message1 = input('please inset what you want to decrypt:')
key1 = int(input('please insert the key value wanted:'))
output = []
for m in message1:
if m in alphabet:
output.append(alphabet[(alphabet.index(m) - key1) % (len(alphabet))])
print(''.join(output))
print('thanks for coding!')
首先,必须输入关键字而不是简单的值,并将关键字的每个字母的值存储在列表中:
key1 = input('please insert the key value wanted:')
keys = [ alphabet.index(m) + 1 for m in key1 if m in alphabet ]
例如,键abc
将给出[1,2,3]
然后在计算编码字符串时迭代该列表:
for i, m in enumerate(message):
if m in alphabet:
output.append(alphabet[(alphabet.index(m) + keys[i % len(keys)])
% (len(alphabet))])
还有同样的事情(使用
-keys[…]
而不是+keys[…]
)进行解码,它应该可以工作相关的:看起来你指的是Vigenere密码,但是,你还没有弄清楚是什么让你在实现这个密码时遇到困难。总的想法是,键随每次替换而变化,类似于字母表中字母的索引;您已经在代码中使用的概念。