python中的凯撒移位解码器

python中的凯撒移位解码器,python,encryption,brute-force,caesar-cipher,Python,Encryption,Brute Force,Caesar Cipher,我搞不清楚我做错了什么。这个移位可以完美地工作,因为它跳过了密码中的第一个字母。有什么好处?它应该翻译成世界百科全书,但真的会 cipher = 'ZGXJHZOJXMTKOJBMVKCT' letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' plain = "" for x in cipher: if x in letters: pos = (letters.find(x

我搞不清楚我做错了什么。这个移位可以完美地工作,因为它跳过了密码中的第一个字母。有什么好处?它应该翻译成世界百科全书,但真的会

    cipher = 'ZGXJHZOJXMTKOJBMVKCT'
    letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

    plain = ""
    for x in cipher:
            if x in letters:
                    pos = (letters.find(x) - 21) % 26
            plain += letters[pos]
    print ("Key #%s: %s") % (c, plain)

你的代码很好。您的密码本身缺少第一个字母。
密码应该看起来像
rzgxjhzojxmtxmtkojbmvkct
而不是
zgxjhzojxmtxmtkojbmvkct

你确定你的密码是正确的吗?因为
WELCOMETOCRYPTOGRAPHY
有21个字符,而
zgxjhzojxmtxtkojbmvkct
只有20个字符。您的代码是正确的。您的输入错误,您想输入
'RZGXJHZOJXMTKOJBMVKCT'