[4.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Dieses Mal habe ich die DB aufgeräumt.
- Die Operation jeder DB wurde als def ausgeschrieben.
--root = tk.Tk () Zeigt das System wie folgt an
――Es fühlt sich gut organisiert an.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import tkinter as tk
import pyotp
import sqlite3
import os
def create_table():
#Stellen Sie eine Verbindung zur Datenbank her
conn = sqlite3.connect('gauth.db')
c = conn.cursor()
#Eine Tabelle erstellen
sql='''CREATE TABLE gauth
(id integer primary key AUTOINCREMENT,
name text,
private_key text)'''
c.execute(sql)
#Speichern (festschreiben) Sie das eingefügte Ergebnis
conn.commit()
#Schließen Sie, wenn Sie mit dem Zugriff auf die Datenbank fertig sind
conn.close()
def view():
#Stellen Sie eine Verbindung zur Datenbank her
conn = sqlite3.connect('gauth.db')
c = conn.cursor()
for a in c.execute("select * from gauth"):
totp = pyotp.TOTP(a[2]) #Schlüsselwert
totp.now()
#Etikett anzeigen
Static1 = tk.Label(text=a[1])
Static1.pack(side='left')
Static2 = tk.Label(text=totp.now())
Static2.pack(side='left')
#Speichern (festschreiben) Sie das eingefügte Ergebnis
conn.commit()
#Schließen Sie, wenn Sie mit dem Zugriff auf die Datenbank fertig sind
conn.close()
def insert(id,username,private_key):
#Stellen Sie eine Verbindung zur Datenbank her
conn = sqlite3.connect('gauth.db')
c = conn.cursor()
#Daten einfügen
c.execute(
"INSERT INTO gauth VALUES (?,?,?)",(id,username,private_key))
#Speichern (festschreiben) Sie das eingefügte Ergebnis
conn.commit()
#Schließen Sie, wenn Sie mit dem Zugriff auf die Datenbank fertig sind
conn.close()
#Erstellen Sie Fenster und Titel mit tkinter
#Geben Sie die Fenstergröße an
root = tk.Tk()
root.title(u"g_authentication_tool")
root.geometry("300x200")
#Menüleiste
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar)
filemenu.add_command(label="Anmelden")
filemenu.add_command(label="Registrierung löschen")
filemenu.add_command(label="schließen")
menubar.add_cascade(label="Datei", menu=filemenu)
root.config(menu=menubar)
if(os.path.exists('gauth.db')):
view()
else:
create_table()
#insert(1,"user1",'base32secret3232')
view()
root.mainloop()