This commit is contained in:
STEINNI
2025-08-30 23:26:12 +00:00
commit 6fb75a0888
9 changed files with 7079 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import argon2 from 'argon2'
// --- Hash a password (e.g. at signup) ---
export async function hashPassword(plainPassword) {
try {
const hash = await argon2.hash(plainPassword, {
type: argon2.argon2id, // recommended variant
memoryCost: 2 ** 16, // ~64 MB
timeCost: 3, // iterations
parallelism: 1 // threads
})
return hash // store this string in MySQL
} catch (err) {
console.error('Error hashing password:', err)
throw err
}
}
// --- Verify a password (e.g. at login) ---
export async function verifyPassword(plainPassword, storedHash) {
try {
const match = await argon2.verify(storedHash, plainPassword)
return match // true or false
} catch (err) {
console.error('Error verifying password:', err)
return false
}
}