Argon2 Password Hash With Params

Hash passwords with Argon2id using explicit memory time and parallelism parameters and verify with constant-time comparison.

JavascriptAuth Jwt

Code

snippet
import{argon2id,verify}from'argon2';export async function hashPassword(pw){return argon2id(pw,{memoryCost:19456,timeCost:2,parallelism:1,hashLength:32});}export async function verifyPassword(hash,pw){try{return await verify(hash,pw);}catch{return false;}}export function needsRehash(hash,{memoryCost=19456,timeCost=2}={}){return!hash.includes('m='+memoryCost)||!hash.includes('t='+timeCost);}