diff options
Diffstat (limited to 'set1/challenge3.py')
| -rw-r--r-- | set1/challenge3.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/set1/challenge3.py b/set1/challenge3.py index 8047897..4a7c97c 100644 --- a/set1/challenge3.py +++ b/set1/challenge3.py @@ -4,9 +4,12 @@ def score_plaintext(s): letters = filter(lambda x: 'a'<=x<='z' or 'A'<=x<='Z', s) return float(len(letters)) / len(s) -res = [] -for i in range(256): - chrs = [chr(ord(s) ^ i) for s in x.decode('hex')] - res.append([score_plaintext(chrs), ''.join(chrs)]) +def get_max_single_char_xor(s): + res = [] + for i in range(256): + chrs = [chr(ord(s) ^ i) for s in x.decode('hex')] + res.append([score_plaintext(chrs), ''.join(chrs)]) + return max(res, key=lambda x: x[0]) -print(max(res, key=lambda x: x[0])[1]) +if __name__ == '__main__': + print get_max_single_char_xor(x) |
