1.0.1 • Published 7 years ago

encrypt-password v1.0.1

Weekly downloads
7
License
MIT
Repository
github
Last release
7 years ago

encrypt-password · CircleCI

Encrypt password before beging saved to the database.

Install

npm install --save encrypt-password

Usage

encryptPassword(password, options)

  • password is a required string, the default length is between 6 and 32.
  • options is an optional parameter. It can be a string or an object. When it's a string, it represents options.signature parameter. When it's an object, please refer to the following explanation.
    • options.signature accepts a non-empty string, expects generated according to the different users. When encrypting password, we often add a salt string to the password. This signature is the salt.
    • options.secret accepts a non-empty string, is the unified global secret key. Once set, it can't be modified. Otherwise, the new encrypted password will be inconsistent with the password stored in the database.
    • options.min accepts an integer, is minimum length of the password. Will throw an error when the password length less than this value.
    • options.max accepts an integer, is maximum length of the password. Will throw an error when the password length greater than this value.
    • options.pattern accepts a regular expression. It limits the format of the password. Will throw an error when the password format does not match this value.

This function will encrypt your password twice by sha256 algorithm. The first encryption will take the signature as the secret key, take the password as the data. The second encryption will take the secret as the secret, take the result of the first encryption as the data.

In addition to passing arguments, there is a global way to setting configurations. Passing arguments will override the values of global configurations.

Basic Usage

const encryptPassword = require('encrypt-password')
const encryptedPassword = encryptPassword('password', 'signatrue')

Global Settings

const encryptPassword = require('encrypt-password')

encryptPassword.secret = 'Secrect key never changed.'
encryptPassword.min = 8
encryptPassword.max = 24
encryptPassword.pattern = /^\w{8,24}$/

const encryptedPassword = encryptPassword('password', 'signatrue')

Option Settings

const encryptPassword = require('encrypt-password')
const encryptedPassword = encryptPassword('password', {
  min: 8,
  max: 24,
  pattern: /^\w{8,24}$/,
  signature: 'signature',
})

License

MIT.