Skip to content

🌌 Hash password directly from your terminal

License

Notifications You must be signed in to change notification settings

simonepri/upash-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

36 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

upash

Mac/Linux Build Status Windows Build status Codecov Coverage report Known Vulnerabilities Dependency Status
Mentioned in Awesome NodeJS XO Code Style used AVA Test Runner used Istanbul Test Coverage used NI Scaffolding System used NP Release System used
Latest version on npm Project license

🌌 Hash password directly from your terminal.
Coded with ❀️ by Simone Primarosa.

Synopsis

upash cli

This package is part of the upash project, which aim is to provide a unified and user-friendly APIs for all the passwords hashing algorithms out there.

In particular, this package allows you to use multiple password hashing algorithms through a simple CLI.

Do you believe that this is useful? Has it saved you time? Or maybe you simply like it?
If so, support my work with a Star ⭐️.

Install

npm install -g upash-cli

Help

Usage
  $ upash hash <algorithm name> <password string>
  $ upash verify [<algorithm name>] <hash string> <password string>

Algorithms available
  argon2
  scrypt
  bcrypt
  pbkdf2

Options for argon2 hashing
  --variant <number>         Variant of argon2 to use.
                             Can be one of ['d', 'i', 'id'] for
                             argon2d, argon2i and argon2id respectively.
  --iterations <number>      Number of iterations to use
  --memory <number>          Amount of memory to use in kibibytes.
  --parallelism <number>     Degree of parallelism to use.

Options for scrypt hashing
  --blocksize <number>       Amount of memory to use in kibibytes.
  --cost <number>            CPU/memory cost parameter.
  --parallelism <number>     Degree of parallelism to use.

 Options for bcrypt hashing
   --rounds <number>         Number of iterations to use as as 2^rounds.

 Options for pbkdf2 hashing
   --iterations <number>     Number of iterations to use.
   --digest <string>         Name of digest to use when applying the key
                             derivation function.
                             Can be one of ['sha1', 'sha256', 'sha512'].

Examples
  $ upash hash argon2 'Hello World'
  $ upash verify pbkdf2 'hash string' 'Hello World'
  $ upash hash bcrypt 'Hello World' --rounds=10

Supported password hashing algorithms

  • @phc/argon2 - πŸ”’ Node.JS argon2 password hashing algorithm following the PHC string format.
  • @phc/scrypt - πŸ”’ Node.JS scrypt password hashing algorithm following the PHC string format.
  • @phc/bcrypt - πŸ”’ Node.JS bcrypt password hashing algorithm following the PHC string format.
  • @phc/pbkdf2 - πŸ”’ Node.JS pbkdf2 password hashing algorithm following the PHC string format.

Contributing

Contributions are REALLY welcome and if you find a security flaw in this code, PLEASE report it.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the license file for details.