From 7604aea92fe6acf74e3cfa7082b59c26ad8f09e4 Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Thu, 14 Aug 2014 14:41:04 +0300 Subject: Solve s1c4 --- set1/challenge3.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'set1/challenge3.py') 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) -- cgit v1.3.1