0% found this document useful (0 votes)
147 views41 pages

PasswordManagerProject

The document is a final year project report for a Password Manager application developed by Kumar Basnet, Muskan Rijal, and Pratikchya Katwal as part of their Bachelor of Science in Computer Science and Information Technology at Swastik College. The project aims to provide a secure, efficient, and user-friendly solution for managing passwords using modern technologies like React, Node.js, and MongoDB, with a focus on security features such as RSA encryption and password hashing. The report includes sections on project objectives, system analysis, design, implementation, testing, and future recommendations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
147 views41 pages

PasswordManagerProject

The document is a final year project report for a Password Manager application developed by Kumar Basnet, Muskan Rijal, and Pratikchya Katwal as part of their Bachelor of Science in Computer Science and Information Technology at Swastik College. The project aims to provide a secure, efficient, and user-friendly solution for managing passwords using modern technologies like React, Node.js, and MongoDB, with a focus on security features such as RSA encryption and password hashing. The report includes sections on project objectives, system analysis, design, implementation, testing, and future recommendations.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 41

Swastik College

(Affiliated to Tribhuvan University)


Chardobato, Bhaktapur

Final Year Project Report

On

Password Manager
In partial fulfillment of the requirements for the Bachelor of Science in Computer
Science and Information Technology

Submitted to:
Department of Computer Science and Information Technology
Swastik College

Submitted By
Kumar Basnet (T.U Exam Roll No:26862/077)
Muskan Rijal (T.U Exam Roll No:26863/077)
Pratikchya Katwal (T.U Exam Roll No:26865/077)

Under the Supervision of


Binod Budathoki

January 2025
SUPERVISOR RECOMMENDATION

I hereby recommend that this project prepared under my supervision by Kumar Basnet,
Muskan Rijal and Pratikchya Katwal entitled “PASSWORD MANAGER” in partial
fulfillment of the requirements for the degree of Bachelor of Science in Computer
Science and Information Technology be processed for the evaluation. They possess
excellent communication skills and is always willing to go above and beyond in fulfilling
their responsibilities. They consistently met or exceeded expectations on every task
assigned to them.

......................................

Mr. Binod Budathoki

Swastik College

2
LETTER OF APPROVAL

This is to certify that, this project entitled “PASSWORD MANAGER” submitted by


Kumar Basnet, Muskan Rijal and Pratikchya Katwal is partial fulfillment of the
requirements for the degree of Bachelor of Science in Computer Science and Information
Technology has been Studied. In our opinion, it is satisfactory in scope and quality as a
project for the required degree.

............................................

Mr. Binod Budathoki

Supervisor

……………………………

External Examiner

……………………………

Ms. Sristi Khatiwada

Coordinator

Swastik college

Chardobato, Bhaktapur

3
ACKNOWLEDGEMENT

The report on project entitled “PASSWORD MANAGER” is made as a partial fulfillment


of the requirements for the degree of Bachelor of Science in Computer Science and
Information Technology. We are hoping that this project will be beneficial to the
concerning bodies.

We would like to express our sincere gratitude to Ms. Sristi Khatiwada, our program
coordinator and Mr. Binod Budathoki, our project supervisor for their invaluable
guidance, unwavering support and mentorship throughout the duration of project. Their
valuable and timely suggestions at crucial stages, along with their constant
encouragement have made it possible for us to accomplish this work. Lastly, we extend
our heartfelt thanks to everyone who has contributed to this project, directly or indirectly,
and helped in its completion.

Thanking you,

Kumar Basnet

Muskan Rijal

Pratikchya Katwal

4
ABSTRACT

Password Manager is a modern password management application designed for secure,


efficient, and accessible credential management. Built with React, Tailwind CSS, Node.js,
Next.js, and MongoDB, it combines an intuitive interface with robust backend
capabilities.
Security is a top priority, featuring RSA encryption, password hashing, and tools like
password strength analysis and a strong password generator. Users can securely store, and
retrieve passwords from any device.
MongoDB provides scalable data management, while Next.js and Node.js ensure smooth
performance and navigation. Password Manager delivers a reliable solution for managing
digital identities in today’s interconnected world.

Keywords: Tailwind CSS, Node.js, Next.js, RSA Encryption & Decryption, Password
Hashing, MongoDB

5
TABLE OF CONTENTS
SUPERVISOR RECOMMENDATION..............................................................................ii

LETTER OF APPROVAL..................................................................................................iii

ACKNOWLEDGEMENT..................................................................................................iv

ABSTRACT.........................................................................................................................v

LIST OF FIGURES..........................................................................................................viii

LIST OF TABLES..............................................................................................................ix

LIST OF ABBREVIATIONS...............................................................................................x

Chapter 1: Introduction........................................................................................................1

1.1 Introduction................................................................................................................1

1.2 Problem Statement....................................................................................................2

1.3 Objectives...................................................................................................................2

1.4 Scope and Limitations................................................................................................3


1.4.1 Scope...................................................................................................................3
1.4.2 Limitation............................................................................................................3

1.5 Development Methodology........................................................................................3

1.6 Report Organization...................................................................................................4

Chapter 2: Background Study and Literature Review.........................................................5

2.1 Background Study......................................................................................................5

2.2 Literature Review.......................................................................................................5

Chapter 3: System Analysis.................................................................................................7

3.1 Requirement Analysis................................................................................................7


3.1.1 Functional Requirements....................................................................................7
3.1.2 Non-Functional Requirements............................................................................8

6
3.2 Feasibility Analysis....................................................................................................8
3.2.1 Economic Feasibility...........................................................................................8
3.2.2 Technical Feasibility...........................................................................................8
3.2.3 Operational Feasibility........................................................................................8
3.2.4 Schedule Feasibility............................................................................................8

3.3 Analysis (Structured Approach).................................................................................9


3.3.1 DFD Level 0........................................................................................................9
3.3.2 DFD Level 1........................................................................................................9

Chapter 4: System Design..................................................................................................10

4.1 ER Diagram..............................................................................................................10

4.2 Flow Chart................................................................................................................11

Chapter 5: Implementation and Testing.............................................................................12

5.1 Implementation........................................................................................................12
5.1.1. Tool Used.........................................................................................................12
5.1.2. Implementation Details....................................................................................12
5.1.3 Description of Algorithms.................................................................................14

5.2 Testing......................................................................................................................16
5.2.1 Unit Testing.......................................................................................................16
5.2.2 System Testing..................................................................................................19

Chapter 6: Conclusion and Future Recommendations.......................................................22

6.1 Conclusion................................................................................................................22

6.2 Future Recommendations.........................................................................................22

Appendix............................................................................................................................24

REFERENCES...................................................................................................................31

7
LIST OF FIGURES

Fig. 1. Agile Development Methodology.............................................................................4


Fig. 2. Use Case Diagram of PM.........................................................................................7
Fig. 3. Gantt Chart working schedule of PM.......................................................................8
Fig. 4. DFD Level 0.............................................................................................................9
Fig. 5. DFD Level 1.............................................................................................................9
Fig. 6. ER Diagram of Password Manager........................................................................10
Fig. 7. Flow chart diagram of Password Manager.............................................................11

8
LIST OF TABLES

Table 1.Registration with valid data...................................................................................16


Table 2. Registration with invalid data..............................................................................17
Table 3. User Login test.....................................................................................................17
Table 4. Adding password test...........................................................................................17
Table 5. Password generator test........................................................................................18
Table 6. Password analyzer test.........................................................................................18
Table 7. Password encryption and decryption test.............................................................18
Table 8. UI test...................................................................................................................19
Table 9. Registration and Login test..................................................................................19
Table 10. Functionality testing...........................................................................................20
Table 11. Non- Functionality testing..................................................................................21

9
LIST OF ABBREVIATIONS

CSS: Cascading Style Sheet

DFD: Data Flow Diagram

ER-Diagram: Entity Relationship Diagram

HTML: Hyper Text Markup Language

PM: Password Manager

SDK: Software Development Kit

CMS: Content Management System

SQL: Structured Query Language

UI: User Interfac

10
Chapter 1: Introduction

1.1 Introduction

In today’s digital age, managing and safeguarding online credentials has become a critical
necessity. With the increasing number of online platforms and services requiring unique
and strong passwords, users often face challenges in remembering, organizing, and
securing their credentials. The Password Manager project is designed to address these
challenges by providing a comprehensive solution for secure and efficient password
management.

Password Manager is a web-based application that enables users to securely store and
manage their passwords and other sensitive information in an encrypted environment. The
system is built using modern technologies such as React, Tailwind CSS, Node.js, Next.js,
and MongoDB, ensuring a responsive, scalable, and high-performance platform. This
project not only focuses on the secure storage of credentials but also enhances the user
experience by offering features like password strength analysis, automated generation of
strong passwords, and expiration reminders to promote safer password practices.

To ensure the highest level of security, Password Manager employs advanced


cryptographic techniques such as RSA encryption and decryption to protect sensitive data
from unauthorized access. Additionally, passwords are securely hashed, providing an
extra layer of protection even in the event of a data breach. With a cloud-based
architecture, the application offers users the flexibility to access their credentials anytime,
anywhere, through an intuitive and user-friendly interface.

Administrators have tools to manage user accounts, enforce access policies, and monitor
system security, ensuring the platform remains secure and reliable. By combining cutting-
edge technologies and robust security protocols, Password Manager provides an
indispensable solution for managing digital identities in an increasingly interconnected
world.

1
1.2 Problem Statement

With the rapid increase in digital platforms, users are required to manage numerous
accounts, each demanding strong and unique passwords. Remembering, organizing, and
securely storing these credentials has become a significant challenge. Many users resort
to unsafe practices such as reusing passwords or storing them insecurely, leading to
increased vulnerability to data breaches, unauthorized access, and identity theft.

The lack of a centralized, secure, and user-friendly solution for password management
poses a critical risk to digital security. This project aims to address these challenges by
developing Secure Vault, a robust Password Manager that ensures the secure storage,
retrieval, and management of passwords, while promoting better password practices and
safeguarding users’ sensitive information.

1.3 Objectives

i. To provide a centralized, encrypted vault for securely storing passwords,


sensitive information, and other confidential data.
ii. To enable users to generate strong, unique passwords and organize them
efficiently into categories for easy retrieval.
iii. To implement robust security protocols, including RSA encryption, password
hashing.
iv. To provide tools to analyze and improve password strength, encouraging users
to adopt better password practices.
v. To design an intuitive, visually appealing interface using React and Tailwind
CSS for seamless navigation and ease of use.
vi. To use Node.js and Next.js to build a scalable and efficient backend for real-
time operations and smooth user experiences.

2
1.4 Scope and Limitations

1.4.1 Scope

i. Provide a centralized platform for storing, organizing, and managing passwords


and sensitive Information securely.
ii. Implement advanced authentication mechanisms, including a master password, to
ensure secure access to user accounts.
iii. Enable users to access the password manager across multiple devices, such as
desktops, laptops, tablets, and smartphones, with seamless synchronization.
iv. Encourage strong password practices by providing features like password strength
analysis, automatic generation of strong passwords.

1.4.2 Limitation

i. If a user forgets the master password and no recovery options are in place, access
to stored credentials may be permanently lost.
ii. Weak master passwords or insecure practices, such as sharing credentials or
leaving sessions open, can compromise security.
iii. Offline access to credentials may require additional configurations, potentially
exposing a portion of the data to less secure local storage.

1.5 Development Methodology


The Password Manager project follows the Agile development methodology to ensure
iterative and incremental progress, allowing for flexibility and continuous improvement.
The project is developed in short, time-boxed sprints, with each sprint focusing on
specific features such as user authentication, encryption, and password generation. Agile
emphasizes constant collaboration with stakeholders, regular feedback, and adaptation of
priorities to meet evolving requirements. The team works in cross-functional groups,
conducting daily stand-ups and sprint reviews to ensure quality and alignment with user
needs. This approach allows for rapid deployment of core features, quick identification of
issues, and continuous enhancement of the application based on real-time feedback.

3
Fig. 1. Agile Development Methodology

1.6 Report Organization


The project is broken up into six isolated chapters, each of which describes a different
stage of development. The following is a summary of the chapters:

Chapter 1 is the overview of the project including the introduction, problem statement,
objectives, scope, limitations, and development methodology.

Chapter 2 focuses on the background study and literature review related to the project for
reference in project development.

Chapter 3 involves system analysis, including requirement analysis and feasibility


analysis.

Chapter 4 includes the project design and modeling.

Chapter 5 focuses on the implementation and testing of the system.

Chapter 6 is the conclusion of the report and includes future recommendations.


Furthermore, the reference section includes a list of all the sources cited in the report.

4
Chapter 2: Background Study and Literature Review

2.1 Background Study

A Password Manager is a critical tool for maintaining security and privacy in the digital
age. With the increasing number of online services and accounts, managing passwords
securely has become a significant challenge. Password managers offer a solution by
securely storing, generating, and organizing passwords in a centralized location, making it
easier for users to manage and access their accounts. Traditionally, users often relied on
weak, repetitive passwords or wrote them down in insecure locations, making them
vulnerable to cyber-attacks like data breaches, phishing, and brute force attacks. Password
managers solve these problems by encrypting passwords, ensuring that even if data is
compromised, sensitive information remains protected.

The development of a password manager requires a strong focus on security, ease of use,
and scalability. Modern password managers use encryption algorithms
like AES (Advanced Encryption Standard) and RSA (Rivest-Shamir-Adleman) to protect
passwords both at rest and during transmission. They often employ additional features
like two-factor authentication (2FA), biometric security (e.g., fingerprint or face
recognition), and password generation tools to enhance security further. Password
managers have gained popularity due to their ability to store and manage a wide range of
sensitive data beyond passwords, including credit card details, personal identification
numbers (PINs), and secure notes. By automating the generation and storage of complex
passwords, password managers make it easier for users to adhere to best practices for
online security, such as using unique, strong passwords for every account.

2.2 Literature Review


The Usability of Password Managers by Bonneau. In their seminal work, Bonneau and
his
team delve into the often-overlooked aspect of usability concerning password managers.
Their findings are both enlightening and alarming. While password managers are

5
paramount in elevating the security landscape of the digital era, they can often pose
inherent
challenges, especially for the non-tech-savvy demographic. The study not only
emphasizes
the significance of password managers but also underscores the dire need for making
these
tools more intuitive and user-friendly, bridging the gap between robust security and
seamless usability. [1].
An Empirical Study of Password Manager Use by Chiasson and van Oorschot. Chiasson
and van Oorschot provide a candid snapshot of the contemporary state of password
manager usage. Venturing beyond the theoretical, they unveil how users interact with
these
tools in real-world scenarios. Their results indicate a dichotomy: on one hand, password
managers prove instrumental in upholding robust password hygiene; on the other, users
grapple with some of the more intricate features, such as secure password sharing or
efficient recovery processes. This research serves as a clarion call for developers and
designers to prioritize user experience as much as security. They found that while
managers
aid in maintaining stronger passwords, users often face obstacles in advance [2].
Rethinking Security of Web-Based System Applications: The Password Manager Case by
Karole et al. Karole and his peers shed light on a pivotal concern: the vulnerabilities
lurking
within web-based password managers. Through exhaustive research, the team unveils
weak
points in even the most renowned tools, painting a vivid picture of the ever-evolving
cybersecurity landscape. But this isn't just a critique. Their research lays the groundwork,
offering a blueprint for the next generation of developers, ensuring they build password
managers that aren't just secure on paper, but in practical scenarios too. Their findings
reveal several weak points in popular tools, suggesting that even secure systems have
room
for improvement. The research provides a framework for developers to build more
resilient

6
password management systems. For developers and cybersecurity experts, this study is
both a cautionary tale and a beacon, highlighting the path forward in an ever-evolving
digital landscape [3].
Password Managers: Attacks and Defenses" by Silver et al. Silver's comprehensive
exploration of password manager attacks offers invaluable insights for anyone vested in
the
realm of digital security. By meticulously dissecting various attack vectors, Silver
provides
not just a diagnosis but also prescribes remedies, paving the path for fortified defenses. As
cyber threats continue to multiply and morph, this research stands as a testament to the
significance of staying one step ahead, always prepared for the next challenge. By
understanding the nature of these attacks, developers can devise robust defenses. For
every challenge uncovered, Silver's study provides a countermeasure, underscoring the
proactive and adaptive stance the digital world must adopt to ensure user data remains
sacrosanct. [4].

Chapter 3: System Analysis

3.1 Requirement Analysis

3.1.1 Functional Requirements

i. The system should allow users to create a new account by providing a unique
username, email, and password.
ii. The system should allow users to log in with their username (or email) and
password.
iii. If the credentials are correct, the user should be authenticated and allowed to
access the password manager.
iv. Users should be able to securely store their passwords for different websites or
applications in the password manager.
v. The system should provide an option to view stored passwords.

7
3.1.2 Non-Functional Requirements

A non-functional requirement describes how the system performs a certain function. Non-
functional requirements generally specify the system’s quality attributes or
characteristics. The non-functional requirements in contents to project are as follows:
i. The system must be designed with user-friendly and easy to use by the user so that
the user can perform their job nicely. It must have a clear instruction to guide user.
ii. The application should support a light and dark mode switcher, allowing users to
toggle between themes based on their preference.

3.2 Feasibility Analysis

3.2.1 Economic Feasibility

All the free resources are available to do the project thus further expenses is not required.

3.2.2 Technical Feasibility

The necessary technologies and expertise, including Next.js and RSA, are available to
successfully implement in the project.

8
3.2.3 Operational Feasibility

The project aligns with user requirements and can be smoothly integrated into existing
systems.

3.2.4 Schedule Feasibility

The project can be completed within the allotted time frame according to the proposed
Gantt chart.

3.3 Analysis (Structured Approach)


Fig. 3. Gantt Chart working schedule of PM

3.3.1 DFD Level 0

Fig. 4. DFD Level 0

9
3.3.2 DFD Level 1

Chapter 4: System Design


Fig. 5. DFD Level 1
4.1 ER Diagram

10
Fig. 6. ER Diagram of Password Manager

4.2 Flow Chart

11
Fig. 7. Flow chart diagram of Password Manager

Chapter 5: Implementation and Testing

5.1 Implementation

5.1.1. Tool Used

Visual Studio Code: Visual Studio Code is used in password manager because it is a
lightweight but powerful source code editor which runs on Window, Linux, macOS. It
comes with built-in support for JavaScript, TypeScript and Node. The delightfully
frictionless edit-build-debug cycle means less time fiddling with your environment, and
more time executing on your ideas. It aims to provide just the tools a developer needs for
a quick code-build-debug cycle and leaves more complex workflows to fuller featured
IDEs,such as Visual Studio IDE.

HTML, CSS and Tailwind: HTML primarily used in password manager to design the
UI

12
and provide support to tailwind elements by providing containers for tailwind. CSS used
to
add additional detailed design to the portal and Bootstrap used to overall design the portal
by extending tags from existing library.

Next js: Next js is used in password manager to execute server-side code using
JavaScript.
It's known for its efficiency, scalability, and non-blocking I/O capabilities.

MongoDB: MongoDB is used in password manager to store data in flexible, JSON-like


documents. It's designed for scalability and is commonly used for web and mobile
applications.

5.1.2. Implementation Details

1. Login into the System


The system checks the user credentials and matches it with the one stored in the
database.
If the provided info matches with data in the database, then, the user is allowed to enter
the
system.
Pseudocode:
Start
Enter username & password
If (username is in the database) {
if (password matches username's password in database) {
Enter in the system
} Else
Display incorrect password message
} Else Display username does not exist message.
END

2. Add User
13
The user can add other user and assign them role after entering into the system.
Algorithm:
Start
Enter Username, Password and Confirmation Password {
If (username already exists in database) {
Display error message
} Else If (Password does not fulfill criteria) {
Display error message
} Else If (password and confirmation password do not match) {
Display error message
} Else
User created message.
END

3. Edit Password
Algorithm:
Start: The algorithm begins.
Select Password to Edit: The user chooses the password entry they wish to modify.
If (No Changes Made): The algorithm checks if any changes have been made to the
password.
Direct to View Page: If no changes are detected, the algorithm takes no further action and
directs the user to the view page. This step prevents unnecessary updates when the
password remains the same.
Else: If changes have been made, the algorithm proceeds.
Update Password: It updates the selected password entry in the database to reflect the
changes made by the user.
END: The algorithm concludes.

4. Generate Password
Algorithm:
Start: The algorithm begins.

14
Specify Password Criteria: The user defines the criteria for the password they want to
generate, including length and character types (uppercase, lowercase, numbers, symbols).
Generate Password: The algorithm generates a random password based on the specified
criteria. It ensures the password meets security standards, including complexity and
randomness.
Display Generated Password: The generated password is displayed to the user for review.
END: The algorithm concludes.

5.1.3 Description of Algorithms

The RSA algorithm will be utilized in a password manager to enhance security,


particularly in the storage and sharing of passwords. RSA, being an asymmetric
cryptographic algorithm, uses a pair of keys: a public key for encryption and a privatekey
for decryption. Here's how we will use RSA in a password manager:
a. Encryption of Passwords: When storing a password in the password manager, RSA
will be used to encrypt the password before it is saved. This ensures that even if an
attacker gains access to the database, they won't be able to read the stored passwords
without the corresponding private key. The process would look like this:
• User Key Pair Generation: When a user first sets up the password manager, a unique
RSA key pair (public and private key) is generated for them.
• Password Encryption: Each password that the user wants to store is encrypted with their
public key before being stored in the password manager's database.
• Secure Private Key Storage: The private key, which is needed for decryption,is securely
stored on the user's device or is protected by a master password.
b. Sharing Passwords Securely: If the password manager supports sharing passwords
securely between users (e.g., within a team or family), RSA will be used to achieve this:
• User Public Keys Exchange: When a user wants to share a password with another user,
they encrypt the password with the recipient's public key.
• Password Sharing: The encrypted password is then sent to the recipient. Since only the
recipient's private key can decrypt this data, no one else, including the password manager
service provider, can read the shared password.
c. Secure Backup and Recovery: RSA will be used for secure backup and recovery of
the password vault:
15
• Vault Encryption: The entire password vault (or database) will be encrypted with a
symmetric encryption algorithm (like AES) for performance reasons, and then the
symmetric key will be encrypted with the user's RSA public key.
• Backup: The encrypted vault and the RSA-encrypted symmetric key are stored in a
secure location.
• Recovery: To recover the vault, the user uses their RSA private key to decrypt the
symmetric key, which is then used to decrypt the entire vault.
d. Authentication: RSA will also be used to authenticate users securely:
• Digital Signatures: When logging in, the user can use their private key to sign a
challenge provided by the server. The server then verifies the signature using the user's
public key, ensuring that the user is who they claim to be without sending their private
key over the network.
Advantages of Using RSA in a Password Manager:
1. Strong Security: RSA provides a strong level of encryption that is difficult to break,
especially when using large key sizes (2048 bits or higher).
2. Asymmetric Encryption: Unlike symmetric encryption, asymmetric encryption (like
RSA) allows secure key management for multiple users, enabling secure sharing and
collaboration.
3. Authentication Support: RSA can support both encryption and digital signatures,
providing a unified solution for securing passwords and authenticating users.
RSA key generation:

i. Choose two distinct large prime numbers p and q.


ii. Compute n = pq, n is used as modulus for both public and private keys.
iii. Compute the totient: ϕ (n) = (p-1)(q − 1).
iv. Choose an integer e such that 1 <e< ϕ(n) and e and ϕ(n) are co-prime.
v. Compute d to satisfy ed = 1(mod ϕ (n)).
vi. Public key is {e, n}.
vii. Private key is {d, n}.

Encryption:

c = me mod n

Decryption:
16
m = cd mod n

5.2 Testing

5.2.1 Unit Testing

Table 1.Registration with valid data

Test Scenario Steps Expected Result


Case ID
UT01 User 1. Open the app. User should be successfully
Registration 2. Go to the "Sign Up" registered and redirected to the
with valid data page. login page. And message
3. Enter valid details: displayed as “Account created
Name, Email, Password Successfully”
and Confirm Password.
4. Submit the form.

Table 2. Registration with invalid data

Test Scenario Steps Expected Result


Case ID
UT02 User Registration 1. Open the app. An error message should
with invalid data 2. Go to the "Sign Up" display: "Invalid email
page. address."
3. Enter valid Name, and

17
Password, but an invalid
email.
4. Submit the form.

Table 3. User Login test

Test Scenario Steps Expected Result


Case ID
UT03 User 1. Open the app. A message should display:
Login 2. Go to the "Login" "Welcome to the password
page. manager."
3. Enter valid Name,
Password and email.
4. Submit the form.

Table 4. Adding password test

Test Scenario Steps Expected Result


Case ID
UT04 Add 1. Open the app. A message should display:
Password 2. Go to the "Login" page. “Password added successfully"
3. Enter valid Name,
Password and email.
4. Submit the form.
5. Go to the Add password
section and add credentials.

Table 5. Password generator test

Test Case Scenario Steps Expected Result


ID
UT05 Password 1. Open the app. Random password should be
Generator 2. Go to the "Login" page. generated.

18
3. Enter valid Name,
Password and email.
4. Submit the form.
5. Go to the Password
Generator section.

Table 6. Password analyzer test

Test Scenario Steps Expected Result


Case ID
UT06 Password 1. Open the app. A message should be displayed
Analyzer 2. Go to the "Login" according to password type."
page. as “Too weak”, “Medium”,
3. Enter valid Name, “Strong”
Password and email.
4. Submit the form.
5. Go to the Password
Analyzer section.

Table 7. Password encryption and decryption test

Test Scenario Steps Expected Result


Case ID
UT07 Encrypt and 1. Use the private key which was The password
decrypt downloaded in download folder to should be visible.
password decrypt password.

Table 8. UI test

Test Scenario Steps Expected Result


Case ID
UT08 Light and dark 1. Navigate to menu. The UI should update
mode functionality 2. Toggle between light correctly based on the

19
and dark mode. selected mode.
3. Check the UI for
consistency in both
modes.

5.2.2 System Testing

Table 9. Registration and Login test

Test Scenario Steps Expected Result


Case
ID
ST-01 User Registration 1. Open the app. User should be successfully
with valid data 2. Go to the "Sign Up" registered and redirected to
page. the login page. And message
3. Enter valid details: displayed as “Account created
Name, Email, Password Successfully”
and Confirm Password.
4. Submit the form.
ST02 User Registration 1. Open the app. An error message should
with invalid data 2. Go to the "Sign Up" display: "Invalid email
page. address."
3. Enter valid Name, and
Password, but an invalid
email.
4. Submit the form.
ST03 User Login 1. Open the app and A message should display:
enter valid credentials. "Welcome to the password
2. Submit the form. manager."
Table 10. Functionality testing

Test Scenario Steps Expected Result


Case
ID

20
ST04 Add Password 1. Open the app. A message should
2. Go to the "Login" page. display: “Password
3. Enter valid Name, Password added successfully"
and email.
4. Submit the form.
5. Go to the Add password
section and add credentials.
ST05 Password 1. Open the app. Random password
Generator 2. Go to the "Login" page. should be generated.
3. Enter valid Name, Password
and email.
4. Submit the form.
5. Go to the Password
Generator section.
ST06 Password 1. Open the app. A message should be
Analyzer 2. Go to the "Login" page. displayed according to
3. Enter valid Name, Password password type."
and email. as “Too weak”,
4. Submit the form. “Medium”, “Strong”
5. Go to the Password Analyzer
section.
ST07 Encrypt and 1. Use the private key which The password should be
decrypt was downloaded in download visible.
password folder to decrypt password.

Table 11. Non- Functionality testing

Test Scenario Steps Expected Result


Case ID
ST08 Light and 1. Navigate to menu. The UI should update correctly
dark mode. 2. Toggle between light based on the selected mode.
and dark mode.
21
3. Check the UI for
consistency in both
modes.
ST09 Pop up 1. Go to the login page. Invalid credentials pop up
message. 2. Enter invalid appears in red color.
credentials.
3. Click log in.

Chapter 6: Conclusion and Future Recommendations

6.1 Conclusion

The Password Manager project successfully addresses the critical need for secure and
efficient password management in today's digital age. By providing a user-friendly
22
platform that enables users to store passwords securely, generate strong and unique
passwords, and analyze password complexity, the project enhances both convenience and
security for its users.

Key outcomes of the project include:

i. Password Storage: The implementation of secure storage mechanisms, such as


encryption, ensures that users' sensitive information remains protected against
unauthorized access.
ii. Password Generation: The password generation feature empowers users to
create robust passwords that adhere to best practices, significantly reducing the
risk of password-related breaches.
iii. Strength Analysis: By evaluating the strength of passwords, the system educates
users on potential vulnerabilities and encourages the adoption of strong, complex
passwords.

This project lays a strong foundation for protecting user credentials in an increasingly
interconnected world. Future enhancements could include multi-factor authentication,
secure sharing of credentials, and integration with browser extensions to further
streamline usability and security. Overall, this password manager is a valuable tool that
promotes better cybersecurity practices among its users.

6.2 Future Recommendations

To further enhance the capabilities and usability of the password manager, the following
recommendations can be considered for future development:

i. Biometric Authentication: Enable biometric login options, such as fingerprint or


facial recognition, for faster and more secure access to the system.
ii. Secure Password Sharing: Introduce a feature that allows users to share
passwords securely with others, ensuring encrypted transfer of credentials.
iii. Browser Extensions: Develop browser extensions for popular web browsers to
autofill passwords, suggest strong passwords, and manage credentials directly
during web browsing.
23
iv. Password Expiry Notifications: Notify users to update passwords periodically to
mitigate the risk of outdated credentials being compromised.

Appendix

24
Fig: Register Page of Password Manager

Fig: Login Page of Password Manager

Fig: Adding new Password

25
Fig: Adding new password with credentials

Fig: Password added successfully

26
Fig: Password encrypted successfully

Fig: Password decrypted using private key

27
Fig: Password stored in MongoDB in encrypted form

Fig: Password generation

28
Fig: Password strength analyzer result “weak”

Fig: Password strength analyzer result “Medium”

29
Fig: Password strength analyzer result “Strong”

Fig: Operating mode as Light, Dark and System

30
Fig: System in Light Mode

REFERENCES

[1] Usenix: The advanced computer system [online]: Available from:


https://www/usenix.org
[2] SpringerLink: International Workshop [online]: Available from:
https://www.link.springer.com
[3] Researchgate: Explore science topic [online]: Available from:
https://www.researchgate..net
[4] Security Symposium: Password manager: Attack and Defenses [online]: Available
from: https://www.usenix.org/conference/usenixsecurity14/technical-
sessions/presentation/silver

31

You might also like