mirror of
https://github.com/TriliumNext/Notes.git
synced 2026-04-28 00:10:56 -05:00
29 lines
701 B
TypeScript
29 lines
701 B
TypeScript
"use strict";
|
|
|
|
import optionService from "../options.js";
|
|
import crypto from "crypto";
|
|
|
|
function getVerificationHash(password: crypto.BinaryLike) {
|
|
const salt = optionService.getOption('passwordVerificationSalt');
|
|
|
|
return getScryptHash(password, salt);
|
|
}
|
|
|
|
function getPasswordDerivedKey(password: crypto.BinaryLike) {
|
|
const salt = optionService.getOption('passwordDerivedKeySalt');
|
|
|
|
return getScryptHash(password, salt);
|
|
}
|
|
|
|
function getScryptHash(password: crypto.BinaryLike, salt: crypto.BinaryLike) {
|
|
const hashed = crypto.scryptSync(password, salt, 32,
|
|
{N: 16384, r:8, p:1});
|
|
|
|
return hashed;
|
|
}
|
|
|
|
export default {
|
|
getVerificationHash,
|
|
getPasswordDerivedKey
|
|
};
|