Skip to content

evanbechtol/password_manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Title: Password Manager program
Author: Evan Bechtol ([email protected])
Last revision date: 10/26/2016


Contributing

If you would like to add-on to this, feel free to fork!

Future functionality:

  • Hashing algorithms
  • GUI
  • Multiple input per run

Requirements:

Requires node.js to run, along with all dependencies that can be installed through the NPM CLI.

More info on libraries used

https://www.npmjs.com/package/crypto-js
https://code.google.com/archive/p/crypto-js/
https://www.npmjs.com/package/node-persist

Steps to run:

  1. 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.
  2. Run npm install to download and install all dependencies
  3. Run program with: node app.js -n [account name] -u [account user name] -p [account password] -m [encryption key] -c [cipher method]
  4. Exit the program by hitting ctrl + c in terminal

Description:

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.

Supported Cipher Algorithms:

  • 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.

Commands:

  • create:

    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

  • get:

    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

  • delete:

    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

  • update:

    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

About

Nodejs password management application

Resources

Stars

Watchers

Forks

Packages

No packages published