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

Un peu raté (ne fonctionne pas)

――Je publierai également celui qui a échoué. ――Cette fois, j'ai nettoyé la partie principale de l'opération. --Je l'ai modifié pour faire fonctionner la pièce nouvellement enregistrée à partir du menu en haut. --Menu> Vous pouvez maintenant fermer.

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

import tkinter as tk
import pyotp
import sqlite3
import os
import pyautogui
import sys

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()

def window_menu():
    #barre de menu
    menubar = tk.Menu(root)
    filemenu = tk.Menu(menubar)
    filemenu.add_command(label="s'inscrire", command=new)
    filemenu.add_command(label="Supprimer l'enregistrement")
    filemenu.add_command(label="Fermer", command=close)
    menubar.add_cascade(label="Fichier", menu=filemenu)
    root.config(menu=menubar)

def new():
    pyautogui.prompt(text='user_name', title='user_name' , default='')
    pyautogui.prompt(text='private_key', title='private_key' , default='')
    #insert(user_name,private_key)

def close():
    sys.exit()

#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")
window_menu()
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
J'ai essayé de créer une expression régulière de "date" en utilisant 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
J'ai essayé de créer un LINE BOT "Sakurai-san" avec API Gateway + Lambda
[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