я сохранил пароль в базе данных в зашифрованном виде, и это сделано, но когда я регистрируюсь по этому паролю (без шифрования), он не регистрируется, но когда я использую зашифрованный пароль, он регистрируется, но я хочу войти в систему с расшифрованного пароля.
вот что я сделал для сохранения зашифрованного пароля в базе данных.
from cryptography.fernet import Fernet
import tkinter as tk
from tkinter import messagebox
import pyodbc
Password=ttk.Entry(frame,textvariable=string,text="",show='*')
def std_register(path):
conn = pyodbc.connect('Driver={SQL Server};''Server=SHUMAILA\SHUM;''Database=FYP;''Trusted_Connection=yes;')
cursor=conn.cursor()
std_password=Password.get()
encrypt_password=std_password.encode()
key = Fernet.generate_key()
f = Fernet(key)
encrypted_password = f.encrypt(encrypt_password)
cursor.execute('insert into student_registeration_record(std_password)values(?)',encrypted_password
messagebox.showinfo('Registered','Successfully registered')
cursor.commit()
signup=tk.Button(root,text="Browse here",command=std_register)
signup.place()
вот что я сделал для регистрации .
оба метода выполняются для разных файлов
from cryptography.fernet import Fernet
import tkinter as tk
from tkinter import messagebox
import pyodbc
Password_txt=ttk.Entry(frame,textvariable=string,text="",show='*')
def login(event=None):
password=Password_txt.get()
cursor.execute('select std_password from student_registeration_record where std_password)=?',password
if cursor.fetchone() is not None:
messagebox.showinfo("Message","Successfully login")
else:
messagebox.showinfo("Message","Invalid username or password")
cursor.close()
conn.close()
signin=tk.Button(root,text="Browse here",command=login)
signin.place()
повторное шифрование при входе в систему, код выглядит так:
def login(event=None):
password=Password_txt.get()
f = Fernet(key)
encrypt_password=password.encode()
encrypt_password_1=f.encrypt(encrypt_password)
cursor.execute('select std_password from student_registeration_record where std_password=?',encrypt_password_1
if cursor.fetchone() is not None:
messagebox.showinfo("Message","Successfully login")
else:
messagebox.showinfo("Message","Invalid username or password")
cursor.close()
conn.close()
signin=tk.Button(root,text="Browse here",command=login)
signin.place()
Это дает мне неверный логин или пароль на выходе