如何解释python vigenere chiper中的空格

时间:2016-04-04 22:42:57

标签: python encryption caesar-cipher vigenere

您好我在python中为一个类编写了一个vigenere密码程序,它必须能够处理大写,小写和其他随机字符,但是其他随机字符会被忽略而不加密示例如下

  

python vigenere.py -e"这是我的关键"

     

你好世界

     

altdw oapvh

     

这是我发给你的信息!

     

Moqk qk yw wiqlhow bzmr S ek llvvqfs wyy!

我当前的问题是加密和解密都是我不知道如何让密码移位所以下传密码同时传递消息,加密函数的代码是

#encrypt a plantext string
def encrypt(message, key):                                                                                   
# single letter encrpytion.                                                                
def enc(c,k):
    #checks to see if the character is a letter or another character
    if(not(c.isalpha())):
        return c
    else:
        #the actual encryption algorithm see https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher algebraeic description
        return chr((((ord(k) - 65) + (ord(c) - case(c))) % 26) + case(c))                              

#add single letters back together
return "".join(starmap(enc, zip(message, cycle(key))))         

如果有人有一个简单的方法来做这个并保留所有空间和!如果不改变狙击手应该如何工作,请告诉我!

0 个答案:

没有答案