From 34087a9dbb0194997d109286a891f049f46ac383 Mon Sep 17 00:00:00 2001 From: Michael Chen Date: Tue, 17 May 2022 11:32:26 +0200 Subject: [PATCH] Added challenge 175 --- 175/crackme.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 175/crackme.py diff --git a/175/crackme.py b/175/crackme.py new file mode 100644 index 0000000..1875412 --- /dev/null +++ b/175/crackme.py @@ -0,0 +1,54 @@ +# Hiding this really important number in an obscure piece of code is brilliant! +# AND it's encrypted! +# We want our biggest client to know his information is safe with us. +bezos_cc_secret = "A:4@r%uL`M-^M0c0AbcM-MFE067d3eh2bN" + +# Reference alphabet +alphabet = "!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"+ \ + "[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" + + + +def decode_secret(secret): + """ROT47 decode + + NOTE: encode and decode are the same operation in the ROT cipher family. + """ + + # Encryption key + rotate_const = 47 + + # Storage for decoded secret + decoded = "" + + # decode loop + for c in secret: + index = alphabet.find(c) + original_index = (index + rotate_const) % len(alphabet) + decoded = decoded + alphabet[original_index] + + print(decoded) + + + +def choose_greatest(): + """Echo the largest of the two numbers given by the user to the program + + Warning: this function was written quickly and needs proper error handling + """ + + user_value_1 = input("What's your first number? ") + user_value_2 = input("What's your second number? ") + greatest_value = user_value_1 # need a value to return if 1 & 2 are equal + + if user_value_1 > user_value_2: + greatest_value = user_value_1 + elif user_value_1 < user_value_2: + greatest_value = user_value_2 + + print( "The number with largest positive magnitude is " + + str(greatest_value) ) + + + +choose_greatest()