23 lines
515 B
JavaScript
23 lines
515 B
JavaScript
const bcrypt = require('bcrypt');
|
|
const crypto = require('crypto');
|
|
|
|
const SALT_ROUNDS = 12;
|
|
|
|
async function hashPassword(password) {
|
|
return bcrypt.hash(password, SALT_ROUNDS);
|
|
}
|
|
|
|
async function verifyPassword(password, hash) {
|
|
return bcrypt.compare(password, hash);
|
|
}
|
|
|
|
function sessionCode() {
|
|
return crypto.randomBytes(32).toString('base64url');
|
|
}
|
|
|
|
function csrfToken() {
|
|
return crypto.randomBytes(32).toString('hex');
|
|
}
|
|
|
|
module.exports = { hashPassword, verifyPassword, sessionCode, csrfToken };
|