Title: Password Manager program
Author: Evan Bechtol ([email protected])
Last revision date: 10/26/2016
If you would like to add-on to this, feel free to fork!
- Hashing algorithms
- GUI
- Multiple input per run
Requires node.js to run, along with all dependencies that can be installed through the NPM CLI.
https://www.npmjs.com/package/crypto-js
https://code.google.com/archive/p/crypto-js/
https://www.npmjs.com/package/node-persist
- Special Note: The file can only have 1 encryption type at a time. In other words, you cannot create an account using AES, and then create another account using DES in the same file. If you wish to use a new cipher algorithm, then you must create a new file.
- Run
npm install
to download and install all dependencies - Run program with:
node app.js -n [account name] -u [account user name] -p [account password] -m [encryption key] -c [cipher method]
- Exit the program by hitting
ctrl + c
in terminal
This program will store encrypted accounts with their related username and password pairing, with AES encryption. The accounts can be retrieved by using the get command with the master password that was used when the account was created. If the master password does not match, the account cannot be decrypted for viewing.
- AES
- DES
- TripleDES
- Rabbit
- RC4
- RC4Drop
The same cipher algorithm must be used for both encryption and decryption. Data cannot be unencrypted without matching algorithm.
- Facilitates account creation and storage. Must include the following arguments:
- --name or -n
- --username or -u
- --password or -p
- --masterPassword or -m
- --cipher or -c
usage example:
node app.js create -n Facebook -u [email protected] -p pw123 -m secret123 -c aes
- Retrieves account by the account name. Must include the following arguments:
- --name or -n
Account name must match how it was entered when encrypted (not case-sensitive)
- --masterPassword or -m
A password that does not match the one that was used for the account on encryption will result in failure to decrypt that account
- --cipher or -c
Cipher algorithm must match the one that was used to encrypt account
usage example:
node app.js get -n Facebook -m secret123 -c aes
- --name or -n
- Deletes account by the account name. Must include the following arguments:
- --name or -n
Account name must match how it was entered when encrypted (not case-sensitive)
- --masterPassword or -m
A password that does not match the one that was used for the account on encryption will result in failure to decrypt that account
- --cipher or -c
Cipher algorithm must match the one that was used to encrypt account
usage example:
node app.js delete -n Facebook -m secret123 -c aes
- --name or -n
- Updates the account password for the related account. Must include the following arguments:
- --name or -n
- --username or -u
- --password or -p
- --masterPassword or -m
- --cipher or -c
usage example:
node app.js update -n Facebook -u [email protected] -p pw123 -m secret123 -c aes