Как поместить переменные в строку, которая будет использоваться sqlite3? - PullRequest
0 голосов
/ 17 апреля 2020

Итак, метод, вызывающий у меня проблемы, приведен ниже. Вероятно, дело в том, что я понятия не имею, как добавить строку в метод, и что sqlite3 (который я импортировал для использования в качестве базы данных для хранения) действительно прочитал ее правильно. Я получаю ошибку «неполный ввод», когда запускаю этот код с любым вводом значения (сервис - это строка, такая как «Facebook», которая превращается в ha sh «secret_key». Кто-нибудь знает, как я должен отформатировать это? [Просто чтобы было понятно, я пытаюсь установить secret_key на passkey и pass_val на passval]. Извините, если это немного сбивает с толку, но это мой первый проект python.

import sqlite3
from hashlib import sha256 
# creates a password
def add_password(admin_pass, service):
    secret_key = get_hex_key(admin_pass, service)
    pass_val = create_password()
    passCursor.execute("INSERT INTO keys (passkey, passval) VALUES (%s, %s)" % (secret_key, pass_val))
    passBase.commit()
    return secret_key

Вспомогательные методы: (как видно выше)

# makes a password and encodes it
def create_password():
    return "1"
# gets decryption/hex key using admin password
def get_hex_key(admin_pass, service):
    return sha256(admin_pass.encode('utf-8') + service.lower().encode('utf-8')).hexdigest()
...