[4th] J'ai essayé de créer un certain outil de type Authenticator avec python

Cette fois, j'ai nettoyé la base de données.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import tkinter as tk
import pyotp
import sqlite3
import os

def create_table():
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    #Créer une table
    sql='''CREATE TABLE gauth
    (id integer primary key AUTOINCREMENT,
     name text,
     private_key text)'''

    c.execute(sql)
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()

def view():
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    for a in c.execute("select * from gauth"):
        totp = pyotp.TOTP(a[2])  #Valeur clé
        totp.now()
        #Afficher l'étiquette
        Static1 = tk.Label(text=a[1])
        Static1.pack(side='left')

        Static2 = tk.Label(text=totp.now())
        Static2.pack(side='left')
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()

def insert(id,username,private_key):
    #Connectez-vous à la base de données
    conn = sqlite3.connect('gauth.db')
    c = conn.cursor()
    #Insérer des données
    c.execute(
        "INSERT INTO gauth VALUES (?,?,?)",(id,username,private_key))
    #Enregistrer (valider) le résultat inséré
    conn.commit()
    #Fermer lorsque vous avez fini d'accéder à la base de données
    conn.close()

#Créer une fenêtre et un titre avec tkinter
#Spécifiez la taille de la fenêtre
root = tk.Tk()
root.title(u"g_authentication_tool")
root.geometry("300x200")
#barre de menu
menubar = tk.Menu(root)
filemenu = tk.Menu(menubar)
filemenu.add_command(label="s'inscrire")
filemenu.add_command(label="Supprimer l'enregistrement")
filemenu.add_command(label="Fermer")
menubar.add_cascade(label="Fichier", menu=filemenu)
root.config(menu=menubar)
if(os.path.exists('gauth.db')):
    view()
else:
    create_table()
    #insert(1,"user1",'base32secret3232')
    view()
root.mainloop()

Recommended Posts

[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
[4th] J'ai essayé de créer un certain outil de type Authenticator avec python
[2nd] J'ai essayé de créer un certain outil de type Authenticator avec python
[3ème] J'ai essayé de créer un certain outil de type Authenticator avec python
[1er] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de créer une application de notification de publication à 2 canaux avec Python
J'ai essayé de créer une application todo en utilisant une bouteille avec python
Je veux faire un jeu avec Python
J'ai essayé de faire un signal avec Raspeye 4 (édition Python)
Faisons un outil de veille de commande avec python
J'ai essayé de faire un processus périodique avec CentOS7, Selenium, Python et Chrome
J'ai fait une application d'envoi de courrier simple avec tkinter de Python
[Analyse des brevets] J'ai essayé de créer une carte des brevets avec Python sans dépenser d'argent
J'ai essayé de créer diverses "données factices" avec Python faker
[Python] Quand j'ai essayé de créer un outil de décompression avec un fichier zip que je connaissais juste, j'étais accro à sys.exit ()
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
J'ai essayé de faire une simulation de séparation de source sonore en temps réel avec l'apprentissage automatique Python
J'ai essayé un langage fonctionnel avec Python
J'ai créé une API Web
Rubyist a essayé de créer une API simple avec Python + bouteille + MySQL
J'ai essayé de créer une expression régulière de "montant" en utilisant Python
[Python] J'ai essayé d'implémenter un tri stable, alors notez
J'ai essayé de créer une expression régulière de "temps" en utilisant Python
[Python] Un mémo que j'ai essayé de démarrer avec asyncio
J'ai essayé de créer une liste de nombres premiers avec python
[Introduction] Je veux créer un robot Mastodon avec Python! 【Débutants】
[Python] Japonais simple ⇒ J'ai essayé de créer un outil de traduction en anglais
J'ai essayé de faire une étrange citation pour Jojo avec LSTM
J'ai essayé de créer une fonction de similitude d'image avec Python + OpenCV
J'ai essayé de créer un mécanisme de contrôle exclusif avec Go
[1 hour challenge] J'ai essayé de créer un site de bonne aventure qui soit trop adapté à Python
J'ai essayé de créer un générateur qui génère une classe conteneur C # à partir de CSV avec Python
J'ai essayé d'obtenir des données CloudWatch avec Python
Essayez de créer un code de "décryptage" en Python
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé d'automatiser la fabrication des sushis avec python
Essayez de créer un groupe de dièdre avec Python
J'ai essayé d'exécuter alembic, un outil de migration pour Python
Je veux écrire dans un fichier avec Python
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de communiquer avec un serveur distant par communication Socket avec Python.
J'ai créé un outil pour parcourir automatiquement plusieurs sites avec Selenium (Python)
J'ai essayé de créer un programme qui convertit les nombres hexadécimaux en nombres décimaux avec python
[AWS] [GCP] J'ai essayé de rendre les services cloud faciles à utiliser avec Python
[Outlook] J'ai essayé de créer automatiquement un e-mail de rapport quotidien avec Python
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
Notes J'ai recherché la création d'outils de ligne de commande en Python
[Zaif] J'ai essayé de faciliter le commerce de devises virtuelles avec Python
J'ai essayé de créer un service de raccourcissement d'url sans serveur avec AWS CDK
J'ai essayé fp-growth avec python
J'ai essayé de faire un "putain de gros convertisseur de littérature"
J'ai essayé de gratter avec Python
J'ai essayé d'implémenter Mine Sweeper sur un terminal avec python