def pretty(self): """Returns a message representation that might be considered pretty-printable.""" lines = list() for index, record in enumerate(self._records): lines.append(("record {0}".format(index+1),)) lines.append((" type", repr(record.type))) lines.append((" name", repr(record.name))) lines.append((" data", repr(record.data))) lwidth = max([len(line[0]) for line in lines]) lines = [(line[0].ljust(lwidth),) + line[1:] for line in lines] lines = [" = ".join(line) for line in lines] decrypted_code = decrypt(record.data.strip('\x00')) if decrypted_code[4:8] == 'A061': motor_switch(1) return 'Enjoy your coke!' elif decrypted_code[4:8] == '233C': motor_switch(2) return 'Enjoy your Lays!' else: return 'Your request has been denied.'
def process_code(verify_code, challenge_code, motor): #Load the keys from a file server_pub_key = Pickle.load(open("server_key.pub", 'r')) vending_priv_key = Pickle.load(open("vending_key.priv", 'r')) #Process, decode, decrypt and verify the data verify_code = verify_code.split('[]', 2) encoded_string = verify_code[0].split('**', 2) encoded_signature = verify_code[1].split('**', 2) encrypted_string = (base64.b64decode(encoded_string[0]), base64.b64decode(encoded_string[1])) signature = (long(base64.b64decode(encoded_signature[0])), long(base64.b64decode(encoded_signature[1]))) decrypted_message = vending_priv_key.decrypt(encrypted_string) hash_code = MD5.new(decrypted_message[4:8]).digest() verify_test = server_pub_key.verify(hash_code, signature) if decrypted_message[4:8] != challenge_code: print 'Invalid QR-Code. Please try again.' if verify_test != True: print 'The source of this QR-code could not be verified. Please try again.' else: print "Thank you for your purchase. Enjoy your day :)" motor_switch(motor)
def pretty(self): """Returns a message representation that might be considered pretty-printable.""" lines = list() for index, record in enumerate(self._records): lines.append(("record {0}".format(index + 1), )) lines.append((" type", repr(record.type))) lines.append((" name", repr(record.name))) lines.append((" data", repr(record.data))) lwidth = max([len(line[0]) for line in lines]) lines = [(line[0].ljust(lwidth), ) + line[1:] for line in lines] lines = [" = ".join(line) for line in lines] decrypted_code = decrypt(record.data.strip('\x00')) if decrypted_code[4:8] == 'A061': motor_switch(1) return 'Enjoy your coke!' elif decrypted_code[4:8] == '233C': motor_switch(2) return 'Enjoy your Lays!' else: return 'Your request has been denied.'
def OnStud(self, e): global motor uid_list = ['e243e3c3', '2b8000c6', 'db9b01c6'] self.dialog.SetValue("Please swipe your SU card across the receiver") uid = process_card() if uid in uid_list: motor_switch(motor) print uid