【发布时间】:2020-09-16 06:30:45
【问题描述】:
我无法确定“空格”后加密出错的原因 这是代码:
def chiffre_vigenere(message,key):
message = message.lower()
key = key.lower()
encrypted = []
d = dict(a=0,b=1,c=2,d=3,e=4,f=5,g=6,h=7,i=8,j=9,k=10,l=11,m=12,n=13,o=14,p=15,q=16,r=17,s=18,t=19,u=20,v=21,w=22,x=23,y=24,z=25)
long_key = key
while len(message) > len(long_key) :
long_key = long_key + key
i=0
while i < len(message) :
decalage = d.get(long_key[i])
if message[i].isalpha() :
c = ord(message[i]) + decalage
if c > 122 :
c = c - 26
encrypted.append(chr(c))
else :
encrypted.append(message[i])
i = i+1
print(listToString(encrypted))
例如,当我这样做时: chiffre_vigenere('stack overflow','apple') 它给出:sipno dkpvfadh 第一个单词是正确加密的,但在空格之后加密是错误的 提前感谢任何帮助
【问题讨论】:
标签: python encryption vigenere