Professional Documents
Culture Documents
SURAPET
COMPUTER SCIENCE
Done by
TEJESWARAN.M
XII-A2
BONAFIDE CERTIFICATE
Surapet, for the partial fulfilment of this project as a part of All India Senior School
Certificate Examination-CBSE, New Delhi for the academic Year 2021- 2022.
Date: ……………………..
2
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on the encouragement and
guidelines of many others. I take this opportunity to express my gratitude to the people who have been
instrumental in the successful completion of this project.
I express deep sense of gratitude to almighty God for giving me strength for the successful
completion of the project.
I express my heartfelt gratitude to my parents for constant encouragement while carrying out this
project.
I gratefully acknowledge the contribution of the individuals who contributed in bringing this project
up to this level, who continues to look after me despite my flaws,
I express my deep sense of gratitude to the luminary The Principal, Mrs. Chitra Madhavan
Bharathi WingVelammal Vidhyashram Surapet who has been continuously motivating and extending
their helping hand to us.
I express my sincere thanks to the CEO. Mr. VelMurugan Velammal Vidhyashram Surapet,
for providing these opportunity in doing these project
My sincere thanks to Mrs. Kavitha.K, Teacher In-charge, A guide, Mentor all the above a friend,
who critically reviewed my project and helped in solving each and every problem, occurred during
implementation of the project
The guidance and support received from all the members who contributed and who are contributing
to this project, was vital for the success of the project. I am grateful for their constant support and help.
3
TABLE OF CONTENT:
PAGE
S.NO CONTENTS NO.
1. ABSTRACT 5
2. SYSTEM CONFIGURATION 5
3. INTRODUCTION 6
5. PROPOSED SYSTEM 6
8. SOURCE CODE 9
9. OUTPUT(SCREENSHOT) 26
10. CONCLUSION 28
11. BIBILOGRAPHY 29
4
ABSTRACT:
Password Management System project is developed using Python and MySQL Database. This is a simple
project which helps user in managing their password in a easy and encrypted way. The main aim of this
project is to manage password for different accounts. Password Management system project in Python is a
simple console application. In this project, users can perform certain functions like add, view and delete.
SYSTEM CONFIGURATION:
HARDWARE CONFIGURATION
Microsoft windows 7 professional/windows 8/windows 8.2:
SOFTWARE REQUIREMENTS
1 GB RAM (2 GB+ recommended)
9-58 GB free hard disk space depending on edition and configuration, including space
required for temporary files
5
INTRODUCTION
"PASSWORD MANAGEMENT SYSTEM" This project is to manage passwords for different accounts on
the internet. The user shall be able to save all the username and passwords information of the accounts he
holds on the internet using this system. These details shall be saved in the database in encrypted format. This
will help the user to remember different usernames and passwords for accounts on the internet. The user shall
be able to add account, edit and delete account using the system. . All the details related to the account like the
user name, password, account type, etc shall be stored.
The objective of this project is to let the students apply the programming knowledge into a real-
world situation/problem and exposed the student show programming skills helps in developing a good
software.
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really wants to stand against
today’s merciless competition where not to wise saying “to err is human” no longer valid, it’s outdated to
rationalize your mistake. So, to keep pace with time, to bring about the best result without malfunctioning
and greater efficiency so to replace the unending heaps of flies with a much sophisticated hard disk of the
computer.
6
One has to use the data management software. Software has been an ascent in atomization various
organizations. Many software products working are now in markets, which have helped in
making the organizations work easier and efficiently. Data management initially had to maintain a lot of
ledgers and a lot of paperwork has to be done but now software product on this organization has made their
work faster and easier. Now only this software has to be loaded on the computer and work can be done. This
prevents a lot of time and money. The work becomes fully automated and any information regarding the
organization can be obtained by clicking the button. Moreover, now it’s an age of computers of and
pure Python and does not have any dependencies except for the Python Standard Library.
2. Cryptography - Cryptography package that helps us encrypt and decrypt data. The fernet module of the
cryptography package has inbuilt functions for the generation of the key, encryption of plaintext into
ciphertext, and decryption of ciphertext into plaintext using the encrypt and decrypt methods
respectively. The fernet module guarantees that data encrypted using it cannot be further manipulated
7
FUNCTIONS USED: WRITE IN DETAIL ABOUT
PURPOSE OFTHE FUNCTION.
2. log_in( ) - Verify the account, if it does not exist, ask to create new.
Password.
6. deleterow() - Delete a password after press the backspace key or delete key from
keyboard.
6. Readpasswords() - Read all passwords from the user storage @return: a list, in each
8
SOURCE CODE:
#MAIN:
import tkinter as tk
import db
class MainApplication:
self.user = tk.StringVar()
self.password = tk.StringVar()
self.master = master
self.master.title("Password Storage")
self.master.resizable(False, False)
9
self.loginLabel = tk.Label(self.master, text="**Login**", width=3, height=2,
font=self.large_font)
pady=5)
font=self.large_font)
pady=5)
self.userEntry.config(fg="black", justify="left")
font=self.large_font)
padx=10, pady=5)
font=self.large_font)
10
self.passwordEntry.grid(row=4, column=0, padx=10, pady=5, columnspan=3)
self.passwordEntry.config(show="*", justify="left")
def log_in(self):
if value == "yes":
self.password = ""
self.passwordStorageWindow()
password")
if answer == "yes":
db.createUser(self.user.get(), self.password.get())
self.password = ""
self.passwordStorageWindow()
def passwordStorageWindow(self):
self.newNameList = tk.StringVar()
self.newPasswordList = tk.StringVar()
self.master.withdraw()
self.passwordsScreen = tk.Toplevel(self.master)
self.passwordsScreen.resizable(False, False)
self.frame1 = tk.Frame(self.passwordsScreen)
self.frame1.pack()
self.frame2 = tk.Frame(self.passwordsScreen)
self.frame2.pack()
font=self.large_font)
textvariable=self.newNameList)
self.nameEntry.grid(row=1, column=1)
self.nameEntry.config(fg="black", justify="left")
font=self.large_font)
textvariable=self.newPasswordList)
self.passwordEntry.grid(row=2, column=1)
self.passwordEntry.config(fg="black", justify="left")
self.noteText.config(yscrollcommand=self.scrollVertNoteText.set)
self.insertNewPassword())
self.savePasswordButton.grid(row=4, column=1)
30)).grid(row=0, columnspan=3)
self.style = ttk.Style()
style="mystyle.Treeview")
self.scrollVertPasswordsList = tk.Scrollbar(self.frame2,
14
command=self.passwordsList.yview)
self.passwordsList.config(yscrollcommand=self.scrollVertPasswordsList.set)
self.passwordsList.heading("#0", text="Name")
self.passwordsList.column("#0", width=150)
self.passwordsList.heading("Password", text="Password")
self.passwordsList.column("Password", width=150)
self.passwordsList.heading("Notes", text="Notes")
self.passwordsList.column("Notes", width=300)
self.passwordsList.bind("<Double-1>", self.readNotes)
self.passwordsList.bind("<BackSpace>", self.deleterow)
self.passwordsList.bind("<Delete>", self.deleterow)
self.character_limit(self.newNameList))
self.character_limit(self.newPasswordList))
self.passwordsScreen.protocol("WM_DELETE_WINDOW", self.on_closing)
15
self.passwordTabler()
value = entry_text.get()
entry_text.set(value[:16])
""" Create a extra notes window after double clicking the password"""
if not notes:
pass
else:
self.notesScreen = tk.Toplevel(self.passwordsScreen)
self.notesScreen.title("Notes")
self.notesScreen.resizable(False, False)
30)).grid(row=0, columnspan=3)
16
def deleterow(self, event):
"""Delete a password after press the backspace key or delete key from the
keyboard"""
row_selected = self.passwordsList.selection()
if answer == "yes":
db.deletePassword(self.user.get(), name)
self.passwordsList.delete(row_selected)
def passwordTabler(self):
self.tempList = db.readPasswords(self.user.get())
decoded_pass = db.cipher_suite.decrypt(password)
decoded_pass = decoded_pass.decode("utf-8")
notes.partition('\n')[0]))
17
def insertNewPassword(self):
empty")
else:
db.insertPasswordData(self.user.get(), self.newNameList.get(),
self.newNameList.set("")
self.newPasswordList.set("")
self.noteText.delete(1.0, tk.END)
successfully!")
self.passwordsList.delete(*self.passwordsList.get_children())
self.passwordTabler()
def on_closing(self):
root.destroy()
18
if __name__ == "__main__":
db.createDB()
root = tk.Tk()
app = MainApplication(root)
root.mainloop()
#DB:
import sqlite3
facilities.
19
def conectionDB(func):
global myConection
global myCursor
myConection = sqlite3.connect("PasswordsDB")
myCursor = myConection.cursor()
myConection.commit()
myConection.close()
return result
return wrapper
@conectionDB
def createDB():
try:
myCursor.execute('''
20
CREATE TABLE USERS (
PASSWORD VARCHAR(17))
''')
myCursor.execute('''
USER VARCHAR(17),
PASSWORD VARCHAR(17),
NOTES VARCHAR(100))
''')
except sqlite3.OperationalError:
pass
@conectionDB
passwordDB = myCursor.fetchall()
try:
passwordDB = cipher_suite.decrypt(passwordDB[0][0])
passwordDB = passwordDB.decode("utf-8")
if passwordDB == password:
return "yes"
else:
return "no"
except IndexError:
return "error"
@conectionDB
22
@conectionDB
@conectionDB
def readPasswords(user):
@return: A list, in each row there is a password with its corresponding name and
notes"""
passwords = myCursor.fetchall()
return passwords
@conectionDB
@param: the user and the name associated with the password"""
@conectionDB
@param: the user and the name associated with the password"""
notes = myCursor.fetchall()
return notes
24
OUTPUT
(SCREENSHOT)
1.
4. STORED
DETAILS
26
CONCLUSION:
Password Management software is designed to track and record the account details of the user.
It has all the modules that help user to maintain all the account details like managing
Username, passwords, account type, and all other required information for the account.
This computerized system store all the data in the database which makes it easy to fetch and update
whenever needed.
27
BIBILOGRAPHY:
HTTPS://WWW.W3SCHOOLS.COM/PYTHON/PYTHON_MYSQL_GETSTARTED.ASP
HTTPS://WWW.TUTORIALSPOINT.COM/PYTHON/PYTHON_DATABASE_ACCESS.
HTM HTTPS://PYTHONSPOT.COM/MYSQL-WITH-PYTHON/
28