Ejemplo n.º 1
0
def payload_encryption_test():
    password = b'testpwd'
    payload = {'ccnum': '1111222233334444', 'expdate': '09/13/2018', 'cvc': '123', 'notes': 'adding user notes'}

    salt = Encrypt.generate_salt()
    print('ENCRYPT\TEST: salt: ', salt)

    sym_key_box = Encrypt.generate_key(password, salt)
    print('ENCRYPT\TEST: sym_key_box: ', sym_key_box)

    sym_key = Encrypt.decrypt_key(sym_key_box, password, salt)
    print('ENCRYPT\TEST: sym_key: ', sym_key)

    # Payload encryption (encrypt the payload)
    json_payload_string = json.dumps(payload)
    print('JSON PAYLOAD:', json_payload_string)

    encrypted_payload = Encrypt.encrypt_payload(sym_key, json_payload_string.encode())
    print('ENCRYPT\TEST: encrypted_payload: ', encrypted_payload)

    decrypted_payload = Encrypt.decrypt_payload(sym_key, encrypted_payload)
    print('ENCRYPT\TEST: decrypted_payload: ', decrypted_payload)

    payload_dict = json.loads(decrypted_payload)
    print(payload_dict)
    print(payload_dict["ccnum"])
    print(payload_dict["expdate"])
    print(payload_dict["cvc"])
    print(payload_dict["notes"])
Ejemplo n.º 2
0
def cards():
    print('SERVER/LOG: Opening cards page')
    user_cards = []
    # TODO: Decryption logic for cards

    if request.method == 'POST':
        print("SERVER/LOG: Headers:\n", request.headers)
        print("SERVER/LOG: Data:\n", request.data)
        try:
            print("SERVER/LOG: Form:\n", request.form['cardId'])
            db.delete_card(request.form['cardId'])
            return redirect("/cards")
        except:
            print("SERVER/FAIL: Unable to edit/delete card:\n")

    try:
        if 'username' in session:
            print('SERVER/LOG: Logged in as', session['username'])
            try:
                # payloads = db.get_payloads(session['username'])
                id_payloads = db.get_id_payload(session['username'])
                print(id_payloads)
                for payload in id_payloads:
                    user_cards.append((json.loads(
                        Encrypt.decrypt_payload(
                            session['symkey'],
                            base64.b64decode(payload["payload"]))),
                                       payload["id"]))
            except:
                print('SERVER/FAIL: No cards found for', session['username'])
        else:
            return redirect("/")
    except:
        return redirect("/")
    return render_template('cards.html', user_cards=user_cards)
Ejemplo n.º 3
0
def full_encryption_test():
    user = '******'
    password = b'testpwd'
    ccnum = '1111222233334444'

    salt = Encrypt.generate_salt()
    print('ENCRYPT\TEST: salt: ', salt)

    sym_key_box = Encrypt.generate_key(password, salt)
    print('ENCRYPT\TEST: sym_key_box: ', sym_key_box)

    sym_key = Encrypt.decrypt_key(sym_key_box, password, salt)
    print('ENCRYPT\TEST: sym_key: ', sym_key)

    # Payload encryption (encrypt the payload)
    encrypted_payload = Encrypt.encrypt_payload(sym_key, ccnum)
    print('ENCRYPT\TEST: encrypted_payload: ', encrypted_payload)

    decrypted_payload = Encrypt.decrypt_payload(sym_key, encrypted_payload)
    print('ENCRYPT\TEST: decrypted_payload: ', decrypted_payload)