Не могу зашифровать строку и вставить ее в sqlite
Я пытаюсь сохранить пароль в базе данных sqlite вот ошибка:
Traceback (most recent call last):
File "/media/luis/Vista/Users/Administrador/PycharmProjects/PNV/sqlitetesting.py", line 33, in <module>
""", encriptado)
TypeError: function takes exactly 1 argument (2 given)
Я использую Python 2.7, sqlite3 и hashlib. Вот код:
print "Password nao definida"
passadefinir = raw_input("Insira a sua password:")
clear()
passadefinir2 = raw_input("Insira novamente a sua password")
if passadefinir == passadefinir2:
maindb.execute("DELETE FROM Password WHERE ID = 'not'")
maindb.execute("INSERT INTO Password(ID) VALUES ('set')")
encriptacao = hashlib.sha1(passadefinir2.encode())
encriptado = (encriptacao.hexdigest(),)
print (encriptado)
maindb.executescript("""
UPDATE Password
SET Password = ?
WHERE ID = 'set';
""", encriptado)
conn.commit()
1 ответ
Решение
Использование maindb.execute
вместо maindb.executescript
:
maindb.execute("""
UPDATE Password
SET Password = ?
WHERE ID = 'set';
""", encriptado)