我有一个程序,使用不断变化的密钥随机编码文本。用户还可以选择解码文本。
基本上我想要做的是有一个列表,其中包含使用的密钥和编码的文本。例如,如果我使用单词'test'
,则可以说它会返回BGMB
,并且该单词的键为EIDTGRVHFNPSYJLKCWMBUXOZQA
。所以在列表中我会keyList = [(EIDTGRVHFNPSYJLKCWMBUXOZQA, BGMB)]
,只要用户对单词进行编码,列表就会继续增长。我确信我正确地做了这部分,keyList.append((key, encodeText))
。
我遇到的问题是我不知道该怎么做。我可以继续编码,它会继续将其添加到列表中。我只是不知道如何访问解码函数中的列表。我打算做的是比较用户想要解码的输入字符串,看它是否在列表中,如果是,则程序将使用该字的密钥并发送回已解码的字符串。
任何帮助你都很棒。提前谢谢!
快速编辑:这是编码和解码方法,如果它可以帮助任何人
def encode(text):
global key
key = ''.join(random.sample(key, len(key)))
switch = alpha.maketrans(alpha + alpha.lower(), key*2)
encodeText = text.translate(switch)
keyList.append((key, encodeText))
print(keyList)
return(encodeText)
def decode(text):
print(keyList)
switch = alpha.maketrans(key + key.lower(), alpha + alpha.lower())
decodeText = text.translate(switch)
return(decodeText)
印刷品是他们的,所以我可以看到每一点发生了什么。
答案 0 :(得分:3)
我认为你应该使用dict
。由于您希望通过编码文本访问加密密钥,encodeText
应该是您的dict密钥。
keydict[ecodeText] = key