如何从SQLite3 DB

时间:2015-09-24 20:11:19

标签: hash sqlite pbkdf2

我知道有很多关于PBKDF2和哈希的问题,但大多数人似乎都在谈论比特。也许这就是我需要了解的更多内容,但我希望我的问题更为直接。

注意:这是两个独立的程序(因此变量似乎重复,但不重复)。

第一个创建一个哈希密码并将其存储在数据库中......这样工作正常。

from pbkdf2 import crypt
import sqlite3

cemail = input("Email: ")
cpassword = input("Password: ")
pwhash = crypt(cpassword)
connection = sqlite3.connect('/Users/Air/Desktop/users.db')
cursor_v = connection.cursor()
cursor_v.execute("insert into user (cemail, cpassword) values (?,?)", (cemail, pwhash))
connection.commit()
cursor_v.close()

问题出在这里,我去检查数据库中的原始哈希密码。一旦哈希密码从第一个程序进入数据库,是吗?它是否永远消失(即无法在以后与其他东西进行比较,就像登录时的另一个密码)?

cemail = input("Login with Email: ")
cpassword = input("Login with Password: ")
pwhash = crypt(cpassword)
connection = sqlite3.connect('/Users/Air/Desktop/users.db')
cursor_v = connection.cursor()
cursor_v.execute("SELECT * FROM user WHERE cemail=? AND cpassword=?", (cemail,pwhash))
row = cursor_v.fetchone()
if pwhash == crypt(pwhash, cpassword):
    print("Welcome")
else:
    print("Invalid")

感谢任何帮助或指导。

0 个答案:

没有答案