Introduction
SecurePass (argon2-pass) is a module for the creation of hashes from passwords, allowing you to store passwords securely. The module also provides a facility for the generation and verification of one time use password reset tokens for use in your own password reset flows. This module is a wrapper for libsodium's implementation of the Argon2ID password hashing algorithm.
Features
- Uses the state of the art, secure modern password hashing algorithm Argon2ID.
- Uses
Buffer
's for safer memory management. - Allows for generation of one time use password reset tokens to be used in your own password reset flow.
- Easily configurable work factors, allowing you to increase the security of your hashes over time.
- Three default difficulty configurations for password hashing, as defined in libsodium's implementation. Allowing you to configure your security level based on some recommended predefined values.
- Simple rehashing of passwords you are already storing. Allowing you to improve the security of your hashes over time.
- The module is written in typescript and ships with a type definition file by default.
Installation
To install the package you need to use a package manager such as npm or yarn.
yarn add argon2-pass
npm install argon2-pass
Usage
Coming Soon
Testing
This package is configured with [jest] tests, these tests ensure that the module is working correctly and as specified as well as generating code coverage reports.
yarn test
or
npm test
Acknowledgements
- Special thanks to the creators of libsodium and sodium-native both of which are used extensively in this package, and without which the creation of this module wouldn't have been possible.
Licence
Licensed under MIT.
Copyright (C) 2018 DrBarnabus