@brontosaurus/db
Version:
:ocean: Schema for brontosaurus
28 lines (27 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateURL = exports.Deprecated_generateKey = void 0;
const Crypto = require("crypto");
const Deprecated_generateKey = () => new Promise((resolve, reject) => {
const length = 32;
let result = "";
const randomBytes = () => Crypto.randomBytes(6, (err, buffer) => {
if (err) {
reject(err);
}
result += parseInt(buffer.toString("hex"), 16).toString(36);
if (result.length < length) {
randomBytes();
return;
}
resolve(result.slice(0, length));
});
randomBytes();
});
exports.Deprecated_generateKey = Deprecated_generateKey;
const generateURL = (name, account, key) => {
const parsedName = encodeURIComponent(name);
const parsedAccount = encodeURIComponent(account);
return 'otpauth://totp/' + parsedAccount + '?issuer=' + parsedName + '&secret=' + key;
};
exports.generateURL = generateURL;