0% found this document useful (0 votes)
4 views25 pages

Computer Science Project

The document is a project file for a 'Password Manager' created by Anas Ali Saifi and Sarwan for their Computer Science Class XII curriculum. It includes sections on the project's aim, problem statement, work discipline, system requirements, and future scope, highlighting the importance of securely managing passwords in today's digital age. The project is developed using Python and Tkinter, and aims to enhance online security and user convenience.

Uploaded by

goblintzz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views25 pages

Computer Science Project

The document is a project file for a 'Password Manager' created by Anas Ali Saifi and Sarwan for their Computer Science Class XII curriculum. It includes sections on the project's aim, problem statement, work discipline, system requirements, and future scope, highlighting the importance of securely managing passwords in today's digital age. The project is developed using Python and Tkinter, and aims to enhance online security and user convenience.

Uploaded by

goblintzz
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

GOVERNMENT BOYS SENIOR

SECONDARY SCHOOL

A project file on “PASSWORD MANAGER” for the


fulfilment of the curriculum of the subject
Computer Science Class XII

Submitted By : Submitted To :
Anas Ali Saifi Sarwan Piyush Kumar Mudgal
XII C XII C Lecturer C.S.
14688888 14688889
CERTIFICATE
This is to certify that Anas Ali Saifi And Sarwan of Class
XII C of Government Boys Senior Secondary School has
completed their Computer Science project file. They has
taken proper care and utmost sincerity in completion of
their project. The approach towards the subject has been
sincere and scientific.

I certify that this project is upto my and as per the


guidelines issued by the CBSE

_____________ _____________
Teacher’s Signature External
Teacher’s Signature
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to
my teacher “PIYUSH KUMAR MUDGAL” who gave me the
this golden opportunity to do this wonderful project on
topic “PASSWORD MANAGER” which also helped me doing
a lot of research and i came to know about so many new
things. I am really thankful to them
Secondly I would also like to thank my parents and friends
who helped a lot in finishing this project within the limited
time.
I am making this project not only for marks but to also
increase my knowledge
INDEX
[Link]. Content Pg. No. Sign.
1. Introduction 3
2. Aim 4
3. Problem Statement 5
4. Work Discipline 6
5. Work Allocation 7
6. System Requirements 8
7. Modules 9
1
INDEX
[Link]. Content Pg. No. Sign.
8. Further Details 10
9. Algorithm 11
10. Flowchart 12
11. Code 13
12. Snap of Output 19
13. Future Scope 21
14. Bibliography 22
2
INTRODUCTION
In today’s digital world people use many websites and
applications that require usernames and passwords.
Remembering different passwords for each account is difficult,
and using the same password everywhere is unsafe. This
increases the risk of hacking and data theft. A password
manager helps user store and manage their passwords in a
secure way. It keeps important login information organized
and protected, making online activities safer and more
convenient.

3
AIM
The aim of this project is to design and develop a simple
and secure password manager that assists users in storing
and managing their login credentials in an organized way. It
will help in minimizing the issue of forgotten passwords and
will not allow the user to use weak or repeated passwords.
This project also concentrates on enhancing online security
and protecting personal data. The password manager
assists users in saving time and effort while accessing their
online accounts. It promotes the secure use of online
platforms.

4
PROBLEM
STATEMENT
In the current digital age, users create numerous accounts
that need different usernames and passwords. It is difficult
to remember all the passwords. Due to this challenge,
users end up using weak passwords, which pose a threat
to security. There is a need to develop a system that can
store passwords safely in one location. The project aims to
address this challenge by developing a password manager
that is simple to use.

5
WORK DISCIPLINE
The project is developed by following a systematic and
organized approach. First, the requirements of the
password manager are studied and understood. Then,
the program is designed by using suitable algorithms
and flowcharts. After that, coding is performed by
using the python language. The program is tested to
remove errors and enhance performance. Finally,
documentation is prepared to describe the functioning
of the project.

6
WORK
ALLOCATION
This project was accomplished with proper planning, cooperation,
and discipline between the two team members. The project was
divided based on individual skills and responsibilities to ensure
smooth flow and timely completion.
Anas: Responsible for coding, program development, testing,
and technical implementation of the password manager.
Sarwan: Responsible for preparing all written work, including
documentation, project file design, and content organization.

7
HARDWARE REQUIREMENTS
Processor: Dual Core or above
Ram: Minimum 2 GB
Hard Disk: 100 MB free space
Display: 1024 x 768 resolution
Keyboard and Mouse

SOFTWARE REQUIREMENTS
Operating System: Windows / Linux / macOS
Programming Language: Python 3.8+
Python Interpreter
Built-in Python Libraries (Tkinter, OS)
Command Prompt / Terminal
8
MODULES
1. tkinter
Used for creating the Graphical User Interface (GUI).
Helps in designing windows, buttons, labels, and text fields.
2. [Link]
Used for showing alert messages such as:
Error messages
Success messages
Information pop-ups
3. os
Used for file handling operations.
Helps in checking whether the password file exists or not.
9
FURTHER DETAILS
This password manager is created using Python and
Tkinter for creating a friendly interface. This
password manager helps the user to save the website
name, username, and password in a text file. This
password manager also has a feature of showing and
hiding the password. It checks all the input fields
before saving the data and also shows the saved
records in a new window.

10
ALGORITHM
Start the program.
Display the main window of the password manager.
Provide input fields for website/app name, username, and password.
Allow the user to enter required details.
Check whether all fields are filled.
If any field is empty, display an error message.
If all fields are filled, save the data in the file [Link].
Display a success message after saving.
Provide options to view saved passwords.
If the user clicks “View Saved”, display all stored records in a new window.
Allow the user to show or hide the password.
Repeat the process until the user exits.
Stop the program 11
FLOW CHART

12
CODE
import tkinter as tk
from tkinter import messagebox
import os

FILE = "[Link]"

# -----------------------
# Toggle Password
# -----------------------
def toggle_password():
if entry_password.cget("show") == "":
entry_password.config(show="*")
👁
show_btn.config(text=" Show")
else:
entry_password.config(show="")
🙈
show_btn.config(text=" Hide")

# -----------------------
# Save Password
# -----------------------
def save_password():
account = entry_account.get()
username = entry_username.get()
password = entry_password.get()

if not account or not username or not password:


[Link]("Error", "All fields are required!")
return 13
with open(FILE, "a") as f:
[Link](f"{account} | {username} | {password}\n")

[Link]("Success", "Password Saved Successfully!")

entry_account.delete(0, [Link])
entry_username.delete(0, [Link])
entry_password.delete(0, [Link])

entry_password.config(show="*")
👁
show_btn.config(text=" Show")

# -----------------------
# View Passwords
# -----------------------
def view_passwords():
if not [Link](FILE):
[Link]("Info", "No passwords saved yet.")
return

with open(FILE, "r") as f:


data = [Link]()

win = [Link](root)
[Link]("Saved Passwords")
[Link]("700x500")
[Link](bg="#1e1e1e")

text = [Link](
win,
bg="#121212",
fg="white",
font=("Consolas", 12),
insertbackground="white"
)
[Link](expand=True, fill="both", padx=20, pady=20)

[Link]([Link], data) 14
# -----------------------
# Main Window
# -----------------------
root = [Link]()
[Link]("Password Manager")
[Link]("zoomed")

# Theme
BG = "#0f172a"
BOX = "#020617"
BTN = "#2563eb"
TEXT = "white"

[Link](bg=BG)

# -----------------------
# Main Frame
# -----------------------
main = [Link](root, bg=BG)
[Link](expand=True)

# -----------------------
# Title
# -----------------------
title = [Link](
main,
🔐
text=" Password Manager",
font=("Segoe UI", 28, "bold"),
bg=BG,
fg=TEXT
)
[Link](pady=30)

15
# -----------------------
# Input Fields
# -----------------------
def create_field(text):
label = [Link](
main,
text=text,
font=("Segoe UI", 13),
bg=BG,
fg=TEXT
)
[Link](anchor="w", pady=(10, 2))

entry = [Link](
main,
width=35,
font=("Segoe UI", 12),
bg=BOX,
fg="white",
insertbackground="white",
relief="flat"
)
[Link](ipady=6)

return entry

entry_account = create_field("Website / App")


entry_username = create_field("Username / Email / Phone No.")

16
# Password Frame (for button beside field)
pass_frame = [Link](main, bg=BG)
pass_frame.pack(pady=(10, 0))

[Link](
pass_frame,
text="Password",
font=("Segoe UI", 13),
bg=BG,
fg=TEXT
).pack(anchor="w")

entry_password = [Link](
pass_frame,
width=28,
font=("Segoe UI", 12),
bg=BOX,
fg="white",
insertbackground="white",
relief="flat",
show="*"
)
entry_password.pack(side="left", ipady=6)

show_btn = [Link](
pass_frame,
👁
text=" Show",
command=toggle_password,
font=("Segoe UI", 10, "bold"),
bg="#334155",
fg="white",
relief="flat",
cursor="hand2",
width=8
)
show_btn.pack(side="left", padx=8)
17
# -----------------------
# Buttons
# -----------------------
btn_frame = [Link](main, bg=BG)
btn_frame.pack(pady=35)

def create_button(text, cmd):


return [Link](
btn_frame,
text=text,
command=cmd,
font=("Segoe UI", 12, "bold"),
bg=BTN,
fg="white",
activebackground="#1d4ed8",
width=18,
relief="flat",
cursor="hand2"
)

create_button("Save Password", save_password).grid(row=0, column=0, padx=15)


create_button("View Saved", view_passwords).grid(row=0, column=1, padx=15)

# -----------------------
# Footer
# -----------------------
footer = [Link](
root,
text="Developed by Anas | A Password Manager",
font=("Segoe UI", 10),
bg=BG,
fg="#94a3b8"
)
[Link](side="bottom", pady=10)

[Link]() 18
SNAP OF O/P

19
20
FUTURE SCOPE
This password manager project has many areas where it
can be developed and improved in the future. Some of the
advanced security measures like encrypting passwords
and implementing user authentication can be added to
provide better security to the data. Cloud storage can also
be added to enable the user to access the data from
different devices. A mobile application version of this
project can also be developed for better accessibility. The
user interface can also be improved to make the
application more attractive and user-friendly.
21
BIBLIOGRAPHY
Python Software Foundation. Python Official Documentation. Available at:
[Link]
Accessed on: 8 January 2026.
Tkinter Documentation. Tkinter GUI Library Reference. Available at:
[Link]
Accessed on: 12 January 2026.
NCERT. Computer Science Textbook for Class XII. New Delhi: NCERT
Publications, 2025 Edition.
OpenAI. ChatGPT (AI-Based Assistant). Used for guidance in project
planning, content writing, and code explanation.
Accessed on: 15 January 2026.

22

You might also like