Files
2026-07-26 18:25:37 +09:00

14 lines
432 B
JavaScript

import bcrypt from "bcryptjs";
import * as argon2 from "argon2";
export async function hashPassword(password) {
return argon2.hash(password);
}
export async function comparePassword(password, hash) {
if (isOldAlgorithm(hash)) return bcrypt.compare(password, hash);
return argon2.verify(hash, password);
}
export function isOldAlgorithm(hash) {
// bcrypt hashes start with $2[ab]$
return hash.startsWith("$2");
}