Esempio n. 1
0
 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)
Esempio n. 3
0
    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.'
Esempio n. 4
0
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)
Esempio n. 5
0
    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
Esempio n. 6
0
 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