You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
509 B
JavaScript
21 lines
509 B
JavaScript
5 years ago
|
const crypto = require('crypto');
|
||
5 years ago
|
|
||
4 years ago
|
global.Hydro.lib['hash.hydro'] = module.exports = {
|
||
5 years ago
|
/**
|
||
|
* @param {string} password
|
||
|
* @param {string} salt
|
||
|
* @param {string} hash
|
||
|
*/
|
||
|
check(password, salt, hash) {
|
||
5 years ago
|
return hash === this.hash(password, salt);
|
||
5 years ago
|
},
|
||
|
/**
|
||
|
* @param {string} password
|
||
|
* @param {string} salt
|
||
|
*/
|
||
|
hash(password, salt) {
|
||
5 years ago
|
const res = crypto.pbkdf2Sync(password, salt, 100000, 64, 'sha256');
|
||
5 years ago
|
return res.toString('Hex');
|
||
|
},
|
||
5 years ago
|
};
|