phpass-to-argon2

1.0.0 • Public • Published

phpass-to-argon2

Methods for checking passwords against phpass or argon2 hashes, and upgrading then to argon2 where needed.

import verify, { hash } from 'phpass-to-argon2';

/**
 * An example login function using phpass-to-argon2
 * @param user The user object to verify against
 * @param password The password submitted by the login form
 */
export default async function login(user, password) {
	return verify(
		// Supply the password and the hash to verify against
		user.passwordHash,
		password,

		// Supply a function for updating the hash when needed
		async newHash => {
			user.passwordHash = newHash;
			await user.save();
		}
	)
}

// We also export the argon2 hash method
// for setting the password normally.
export async function updatePassword(user, newPassword) {
	user.passwordHash = await hash(newPassword);
	await user.save();
}

Modules

phpass-to-argon2
verify

Verify a password against a phpass or argon2 hash. If the update argument is passed, it will be called when a password hash needs updating from phpass to argon2

hashstring

Hash a password using argon2

needsUpdateboolean

Check if a hash needs to be updated

phpass-to-argon2

verify

Verify a password against a phpass or argon2 hash. If the update argument is passed, it will be called when a password hash needs updating from phpass to argon2

Param Type Description
hash string The hash to compare with
password string The password to compare
[update] function A function to execute when the stored hash needs updating, taking the new hash as the first argument
[options] object The argon2 options object

hash ⇒ string

Hash a password using argon2

Returns: string - The hashed password

Param Type Description
password string The password to be hashed
options object The argon2 options object

needsUpdate ⇒ boolean

Check if a hash needs to be updated

Param Type Description
hash string The hash to check

Package Sidebar

Install

npm i phpass-to-argon2

Weekly Downloads

0

Version

1.0.0

License

ISC

Unpacked Size

9.7 kB

Total Files

6

Last publish

Collaborators

  • paulkiddle