|
|
|
@ -1,10 +1,12 @@
|
|
|
|
|
# single-byte xor cipher
|
|
|
|
|
from binascii import unhexlify
|
|
|
|
|
hexed = "1b37373331363f78151b7f2b783431333d78397828372d363c78373e783a393b3736"
|
|
|
|
|
unHexed = unhexlify(hexed)
|
|
|
|
|
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def xor_SingleByte(hexed):
|
|
|
|
|
alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
|
|
|
|
|
unHexed = unhexlify(hexed)
|
|
|
|
|
# generate a dict of possible answers and their decryption keys
|
|
|
|
|
|
|
|
|
|
tableOfPossibleAnswers = {}
|
|
|
|
|
for code in range(256):
|
|
|
|
|
possibleAnswer = ''.join(chr(byte ^ code) for byte in unHexed)
|
|
|
|
@ -31,3 +33,6 @@ for key in weightedCodes:
|
|
|
|
|
for key,value in tableOfPossibleAnswers.items():
|
|
|
|
|
if tableOfPossibleAnswers[key] == answerValue:
|
|
|
|
|
print(key, tableOfPossibleAnswers[key])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xor_SingleByte("1b37373331363f78151b7f2b783431333d78397828372d363c78373e783a393b3736")
|