凯撒密码的解密过程_python
# 凯撒密码破解 # (BSD Licensed) message = 'GUVF VF ZL FRPERG ZRFFNTR.' LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' # 把每个可能的密钥循环一遍 for key in range(len(LETTERS)): # key代表密钥 # translated设为空字符串 # 每次循环后清空. translated = '' # # 密文里的每一个字符按顺序解密 for symbol in message: if symbol in LETTERS: num = LETTERS.find(symbol) # 在26个字母里搜索到密文字符的位置 num = num - key # 检查是否小于0,如果小于0,就加上26 if num < 0: num = num + len(LETTERS) # 把解密之后的字符追加到translated字符串的末尾 translated = translated + LETTERS[num] else: # 密文里的symbol如果不在26个字母里,就不进行解密,直接追加到字符串末尾 translated = translated + symbol # 输出解密采用的key和解密后的明文 print('Key #%s: %s' % (key, translated))