-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcaesarHacker.py
executable file
·33 lines (25 loc) · 1.15 KB
/
caesarHacker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Caesar Cipher Hacker
# https://www.nostarch.com/crackingcodes (BSD Licensed)
message = 'guv6Jv6Jz!J6rp5r7Jzr66ntrM'
SYMBOLS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 !?.'
# Loop through every possible key:
for key in range(len(SYMBOLS)):
# 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 almost the same as the original program:
# Loop through each symbol in `message`:
for symbol in message:
if symbol in SYMBOLS:
symbolIndex = SYMBOLS.find(symbol)
translatedIndex = symbolIndex - key
# Handle the wrap-around:
if translatedIndex < 0:
translatedIndex = translatedIndex + len(SYMBOLS)
# Append the decrypted symbol:
translated = translated + SYMBOLS[translatedIndex]
else:
# Append the symbol without encrypting/decrypting:
translated = translated + symbol
# Display every possible decryption:
print('Key #%s: %s' % (key, translated))