Итак, метод, вызывающий у меня проблемы, приведен ниже. Вероятно, дело в том, что я понятия не имею, как добавить строку в метод, и что 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()