令人难以置信的维吉尼亚密码
Vigenere Cipher Incredibly Confused
我已经坚持了好几个小时了。我一直在尝试使用预设的 vigenere 密钥加密预设消息。所以这个名字可以说 'bob' 通过键 'abc' 移动它通过 ascii 值 'abc'.
移动单词 bob
我现在有这段代码,但它没有打印任何东西,我对如何执行此操作感到非常困惑。
def vigenere(key, letter):
keyVal = ord(key)
letterVal = ord(letter)
keyVal = keyVal - 97
letterVal = keyVal + letterVal
if letterVal >= ord("z"):
letterVal = letterVal - 26
print letterVal
你必须在字符串中循环执行此操作,就像我在下面所做的那样:
def vigenere(key, letter):
letterChar = ""
for i in range(len(letter)):
keyVal = ord(key)
letterVal = ord(letter[i])
keyVal = keyVal - 97
letterChar += chr(keyVal + letterVal)
if letterVal >= ord('z'):
letterVal = letterVal - 26
print letterChar
vigenere('c', "pop")
它returns:
rqr
我已经坚持了好几个小时了。我一直在尝试使用预设的 vigenere 密钥加密预设消息。所以这个名字可以说 'bob' 通过键 'abc' 移动它通过 ascii 值 'abc'.
移动单词 bob我现在有这段代码,但它没有打印任何东西,我对如何执行此操作感到非常困惑。
def vigenere(key, letter):
keyVal = ord(key)
letterVal = ord(letter)
keyVal = keyVal - 97
letterVal = keyVal + letterVal
if letterVal >= ord("z"):
letterVal = letterVal - 26
print letterVal
你必须在字符串中循环执行此操作,就像我在下面所做的那样:
def vigenere(key, letter):
letterChar = ""
for i in range(len(letter)):
keyVal = ord(key)
letterVal = ord(letter[i])
keyVal = keyVal - 97
letterChar += chr(keyVal + letterVal)
if letterVal >= ord('z'):
letterVal = letterVal - 26
print letterChar
vigenere('c', "pop")
它returns:
rqr