13 lines
442 B
TypeScript
13 lines
442 B
TypeScript
import { pbkdf2Sync, randomBytes } from 'crypto';
|
|
|
|
export const encrypt = (password: string) => {
|
|
const salt = randomBytes(16).toString('hex');
|
|
const hash = pbkdf2Sync(password, salt, 10000, 512, 'sha512').toString('hex');
|
|
return `${salt}:${hash}`;
|
|
};
|
|
|
|
export const verify = (test: string, secret: string) => {
|
|
const [salt, hash] = secret.split(':');
|
|
return pbkdf2Sync(test, salt, 10000, 512, 'sha512').toString('hex') === hash;
|
|
};
|