Password Manager in pyhton gui tkinter based project with source code
इस प्रोजेक्ट में हम सीखेंगे की कैसे आप पाइथन (python ) "tkinter" की हेल्प से एक पासवर्ड मैनेजर बना सकते है , जो आपके पासवर्ड को sqllite की मदद से डेटाबेस में सेव कर सकते है।
इस एप्लीकेशन को बनाने के लिए आपको तीन चीजों की जरुरत है -
- कंप्यूटर
- पाइथन
- कोड एडिटर (vscode )
1 . सबसे पहले आपके पास एक कंप्यूटर होना चाहिए जोकि अपडेटेड होना चाहिए , आप "linux' , "windows" या फिर "mac" इस्तेमाल कर सकते है।
2 . इसके बाद आपको सबसे पहले अपने कंप्यूटर में पाइथन को इनस्टॉल कर लेना है इसके लिए आपको पाइथन की ऑफिसियल वेबसाइट से जाकर डाउनलोड कर लेना है "https://www.python.org/". windows के लिए आपको exe फाइल मिल जाएगी जिसे आप को इनस्टॉल कर लेना है।
3 . linux और mac में आप पाइथन को टर्मिनल से इनस्टॉल कर सकते है , और अगर इनस्टॉल है तो इसे अपडेट कर लें।
4 . पाइथन फाइल को लिखने के लिए आपके पास एक कोड एडिटर भी होना चाहिए जिसके लिए आप किसी भी कोड एडिटर का इस्तेमाल कर सकते है , लेकिन अगर आप एक beginners है तो आप ide का इस्तेमाल कर सकते है जैसे vscode , pycharm .
5 . हमारे इस प्रोजेक्ट में हमने sqllite 3 का इस्तेमाल किया है इसलिए आपको अपने कंप्यूटर में sqllite 3 को इनस्टॉल करना होगा जिसके लिए आपको अपने कंप्यूटर के टर्मिनल में इस कमांड को पेस्ट करना होगा और sqllite 3 आपके कंप्यूटर में इनस्टॉल हो जायेगा।
import sqlite3
6 .अब हम अपने पाइथन फाइल को लिख सकते है इसके लिए आपको अपने कोड एडिटर को ओपन करना होगा और एक फोल्डर सेलेक्ट कर लेना होगा जहा पर आप अपने पाइथन फाइल को स्टोर कर सकते है।
7 . कोड में हमें सबसे पहले अपने मॉड्यूल्स को इम्पोर्ट करना होगा जिसके लिए आपको इस कोड को पेस्ट करना होगा।
import sqlite3
from tkinter import *
import random
8 . आप निचे दिए गए कोड को अपने कोड एडिटर में पेस्ट करके सेव कर दे , आपको अपने फाइल को ".py" एक्सटेंसन के साथ सेव कर लेना होगा आप अपने फाइल को कोई भी नाम दे सकते है।
import sqlite3
from tkinter import *
import random
#----------------------------------------------------------------settings----------------------------------------------------------------#
letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9','!', '#', '$', '%', '&', '(', ')', '*', '+']
symbols = ['!', '#', '$', '%', '&', '(', ')', '*', '+']
def toggle_visibility():
if Password_entry.cget('show') == '':
Password_entry.configure(show='*')
view_pass.configure(image=view_image)
else:
Password_entry.configure(show='')
view_pass.configure(image=hide_image)
def suggest_password():
password = ''
for i in range(12):
tmp_pass = random.choice([letters,numbers,symbols])
password += random.choice(tmp_pass)
Password_entry.delete(0, END)
Password_entry.insert(END, password)
conn = sqlite3.connect('mydatabase.db')
def show_password():
username_value = Web_entry.get()
cursor = conn.cursor()
cursor.execute('SELECT password FROM users WHERE username = ?', (username_value,))
password = cursor.fetchone()
Password_entry.delete(0, END)
if password is not None:
Password_entry.insert(0, password[0])
else:
Password_entry.insert(0, 'Username not found')
# create a table to store login credentials
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT,
password TEXT
)
''')
# define a function to insert login credentials into the database
def insert_login():
username_value = Web_entry.get()
password_value = Password_entry.get()
cursor.execute('INSERT INTO users (username, password) VALUES (?, ?)', (username_value, password_value))
conn.commit()
def update_password():
username_value = Web_entry.get()
password_value = Password_entry.get()
cursor = conn.cursor()
cursor.execute('UPDATE users SET password = ? WHERE username = ?', (password_value, username_value))
conn.commit()
#----------------------------------------------------Ui--------------------------------------#
root = Tk()
root.title("Password Manager")
root.geometry('500x400+700+300')
#main window icon
main_icon = PhotoImage(file='main_icon.png')
root.iconphoto(False, main_icon)
root.configure(bg='white')
root.resizable(False,False)
#header
header_image = PhotoImage(file='password_manager.png')
header_label = Label(image=header_image,bg="#FFFFFF").place(x=90,y=0,)
# create input fields for the dictionary keys and values
Web_label = Label(root, text="Enter website url",bg="#FFFFFF")
Web_label.place(x=20, y=90)
Web_entry = Entry(root)
Web_entry.place(x=300, y=90)
Password_label = Label(root, text="Enter your password",bg="#FFFFFF")
Password_label.place(x=20, y=150)
Password_entry = Entry(root)
Password_entry.config(show="*")
Password_entry.place(x=300, y=150)
#show password
view_image = PhotoImage(file='view_icon.png')
hide_image = PhotoImage(file='hide_icon.png')
view_pass = Button(root, image=view_image, command=toggle_visibility)
view_pass.place(x=450,y=150)
# create a "save" button
save_button = Button(root, text='Save password', bg="#FFFFFF",command=insert_login)
save_button.place(x=30, y=250)
# start the tkinter event loop
show_password_button = Button(root, text='Show Password',bg="#FFFFFF", command=show_password)
show_password_button.place(x=130,y=250)
update_password_button = Button(root, text='Update Password',bg="#FFFFFF", command=update_password).place(x=230,y=250)
suggest_password = Button(root, text='Suggest password',bg="#FFFFFF", command=suggest_password).place(x=340,y=250)
root.mainloop()
conn.close()
9. फाइल को सेव करने के बाद आप इस फाइल अपने टर्मिनल पर ओपन कर सकते है जिसके लिए आपको अपने टर्मिनल को सेम फोल्डर में आपने करना होगा और फिर टाइप करना है "python main.py" यहाँ पर आपको अपने टर्मिनल में बिना कोटेशन मार्क के टाइप करना होगा और जहा पर main लिखा है वह पर आपको अपने फाइल के नाम से रिप्लेस कर देना है , और फिर एंटर बटन को क्लिक करना है।
10 . रन करने के बाद आपके सामने कुछ इस तरह का आप्लिकेशन दिखेगा जिसे आप इस्तेमाल कर सकते है
11 . आपको इस एप्लीकेशन में जो इमेजेज दिख रहे है उन्हों शो करने के लिए आपको इस प्रोजेक्ट फाइल को डाउनलोड कर लेना होगा जिसे आप हमारे github पेज से डाउनलोड कर सकते है।
No comments:
Post a Comment