This project aims to create a simple but efficient password manager. It includes two versions:
- Desktop App
- Web Deployable
To install this program on your Windows device:
- Download one of the installers from
Installers/Windows. - Double-click the installer and follow the prompts to install the program.
- A warning might be seen as for windows defender if using
.msibut the program is safe. The Read More button can be clicked and then it can be installed.
To edit or review the source code:
- Clone the repository:
git clone https://github.com/justsomerandomdude264/Password_Manager.git
- Navigate to the
desktop_appfolder:cd Password_Manager/desktop_app
To use the web version, follow these steps:
-
Clone the repository:
git clone https://github.com/justsomerandomdude264/Password_Manager.git cd Password_Manager/web_deployable -
Make the Docker image and Run it:
docker-compose up --build
To edit or review the source code:
- Clone the repository:
git clone https://github.com/justsomerandomdude264/Password_Manager.git
- Navigate to the
web_deployablefolder:cd Password_Manager/web_deployable
-
Desktop app
- This is made using an electron app with react integrated in it.
- The passwords and the data is tored in local storage and is unencrypted.
- Credentials are used as an alternative for Multi-Factor Authentication.
-
Web Deployable
- This uses react as its frontend and java's spring boot framework for backend.
- MySQL8 is used for database management.
- Two tables are made one with user data and the other has password data mapped with users.
- All data managed using JPA in spring boot and multiple API endpoints are set up for multiple uses like register, login, saving passwords etc.
- The data stored is completely encrypted whether its user passwords or the passwords stored in the database.
- The user account passswords include using sha256 hashing for encryption while for the saved passwords key based encryption is used.
Would like if someone built the Mac and Linux installers. Contributions are welcome! Please fork the repository and submit a pull request.