Repository URL to install this package:
|
Version:
6.3.3 ▾
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// @todo in another file
const crypto_1 = require("crypto");
const isValidPassword_1 = require("./isValidPassword");
const create = algorithm => async (buffer, opts = {}) => {
const options = Object.assign({
outputFormat: 'hex',
}, opts);
const hash = crypto_1.createHash(algorithm);
hash.update(buffer, typeof buffer === 'string' ? 'utf8' : undefined);
if (options.outputFormat === 'hex') {
return hash.digest('hex');
}
return hash.digest().buffer;
};
// @todo use a better sha @@security
const sha512 = create('sha512');
async function toPassword(password) {
if (process.env.SKAVA123) {
return 'Skava@123';
}
else if (isValidPassword_1.isValidPassword(password)) {
const hashed = await sha512(password || '@@empty');
// @todo just check if it contains a number and aZ cool
return hashed.slice(0, 27) + '@1aZ';
}
else {
return password;
}
}
exports.toPassword = toPassword;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbVBhc3N3b3JkVG9IYXNoZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwcy9mcm9tUGFzc3dvcmRUb0hhc2hlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHdCQUF3QjtBQUN4QixtQ0FBbUM7QUFDbkMsdURBQW1EO0FBRW5ELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUU7SUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDM0I7UUFDRSxZQUFZLEVBQUUsS0FBSztLQUNwQixFQUNELElBQUksQ0FDTCxDQUFBO0lBRUQsTUFBTSxJQUFJLEdBQUcsbUJBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLE1BQU0sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7SUFFcEUsSUFBSSxPQUFPLENBQUMsWUFBWSxLQUFLLEtBQUssRUFBRTtRQUNsQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDMUI7SUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUE7QUFDN0IsQ0FBQyxDQUFBO0FBRUQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUUvQixLQUFLLFVBQVUsVUFBVSxDQUFDLFFBQWdCO0lBQ3hDLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUU7UUFDeEIsT0FBTyxXQUFXLENBQUE7S0FDbkI7U0FBTSxJQUFJLGlDQUFlLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsUUFBUSxJQUFJLFNBQVMsQ0FBQyxDQUFBO1FBQ2xELHVEQUF1RDtRQUN2RCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQTtLQUNwQztTQUFNO1FBQ0wsT0FBTyxRQUFRLENBQUE7S0FDaEI7QUFDSCxDQUFDO0FBRVEsZ0NBQVUifQ==