暴力破译凯撒加密法
主要内容:
- 暴力破译技术
- range()函数
- 字符串格式化(字符串插值)
3.1 暴力破译
- 所谓暴力破译就是穷举所有可能的密钥,直到找出正确解密密钥的破译方法。
3.2 凯撒加密法破译的源代码
# Caesar Cipher Hanker
# 暴力破译凯撒密码
message = 'GUVF VF ZL FRPERG ZRFFNTR.'
LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# loop through every possible key
for key in range(len(LETTERS)):
# It is important to set translated to the blank string so that the
# previous iteration's value for translated is cleared.
translated = ''
# The rest of the program is the same as the original Caesar program
# run the encryption/decryption code on each symbol in the message
for symbol in message:
if symbol in LETTERS:
num = LETTERS.find(symbol) # get the number of the symbol
num = num - key
# handle the wrap-around if num is 26 or larger or less than 0
if num < 0:
num = num + len