Python中的Vignere加密/解密程序

时间:2016-11-10 03:34:25

标签: python python-3.x encryption

我会直言不讳: 我需要找到一种使用Python3使用VigenèreCipher加密和解密一串文本的方法。我试图这样做而不下载额外的资产,但导入现有资产将是好的。我希望我的程序具有的一个特定功能是用户需要能够在程序本身内输入他们想要使用的密钥。到目前为止,我已经设法将字母更改为字母表中的值以及后面的值,但是如何在更改关键字母时将其映射到整个字符串?到目前为止代码:

with open("appbin/vignere.json", "rt") as vd:
    vigneredict = json.load(vd)
with open("appbin/encrypt.txt", "rt") as intx:
    inputtext = intx.read()
vignereword = input("Input the keyword for encrypting your text: ")
with open("appbin/vigkey.txt", "w") as kw:
    kw.write(vignereword)
textlist = list(inputtext)

此代码从名为 encrypt.txt 的文件加载文本并存储,并将其放入列表中。我该如何进行实际加密?

1 个答案:

答案 0 :(得分:1)

首先将您的密钥制作并存储为列表,然后使用像这样的for循环

index = 0
for letter in textlist:
    #blah blah
    index += 1
    if index > len(keylist):
        index = 0

代替blah blah把你的密钥和文本字母转换成数字的方法(索引变量用于当你需要从密钥列表中取出字母但是我留下了那段代码供你写) ,并将它们加在一起,如果数字大于25则减去25然后转换回字母并存储在新变量中