Newer
Older
const
path = require('path'),
fs = require('fs');
Lloyd Hilaiel
committed
Lloyd Hilaiel
committed
exports.generate = function(chars) {
Lloyd Hilaiel
committed
var str = "";
const alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
Lloyd Hilaiel
committed
for (var i=0; i < chars; i++) {
Lloyd Hilaiel
committed
str += alphabet.charAt(Math.floor(Math.random() * alphabet.length));
}
return str;
}
exports.hydrateSecret = function(name, dir) {
var p = path.join(dir, name + ".sekret");
var fileExists = false;
var secret = undefined;
Lloyd Hilaiel
committed
try{ secret = fs.readFileSync(p).toString(); } catch(e) {};
if (secret === undefined) {
Lloyd Hilaiel
committed
secret = exports.generateSecret(128);
Lloyd Hilaiel
committed
fs.writeFileSync(p, secret);
}
return secret;
};