Password Generator
A simple password generator and manager using
- React
- Redux
- Antd
- Firebase
Installation and Running app
- 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
Current Implementation
- 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.
What's next
My previous goals and planned features/todos can be found in Projects. You are free to open a pull request.