A simple password generator and manager using
- React
- Redux
- Antd
- Firebase
- Clone the repo:
git clone https://github.com/FlashBlaze/password-generator.git
- Go to password-generator:
cd password-generator
and install dependencies:npm install
- Go to Firebase Console and create a project
- Create a Firebase web app and replace the
firebase config
object with the given object - Go to Authentication and under Sign-in method, enable Google
- Create database in test mode and create 3 collections with collection ids:
masterPasswords
,passwords
andusers
- Install firebase cli globally:
npm i -g firebase-cli
and follow the instructions given here - Run
npm run start
to start the project
- Anyone can create a random password without signing in.
- The user has the option to sign in using Google account.
- If the user signs in, then the user is asked to create a master password. Currently there are no criterias regarding length, the type of characters required, etc.
- The master password is then hashed using bcrypt and stored in Firebase.
- To encrypt the various passwords entered, master password along with the uid of the user (which is unique and generated by Google when signed in using OAuth) is used.
- This encrypted password is then stored in Firebase along with the website's name.
- Before retrieving passwords, the user is asked to enter the master password for verification and then the passwords are decrypted on the client side.
My previous goals and planned features/todos can be found in Projects. You are free to open a pull request.