bsso
Version:
Bloomberg SSO js utilities
22 lines (21 loc) • 809 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.base64UrlEncode = exports.sha256 = exports.generateRandomString = void 0;
const js_base64_1 = require("js-base64");
const js_sha256_1 = require("js-sha256");
function slice(uint32) {
return ('0' + uint32.toString(16)).slice(-1);
}
function generateRandomString(length) {
const array = global.crypto.getRandomValues(new Uint32Array(length));
return Array.from(array, slice).join('');
}
exports.generateRandomString = generateRandomString;
function sha256(str) {
return js_sha256_1.sha256.create().update(str).arrayBuffer();
}
exports.sha256 = sha256;
function base64UrlEncode(hashBuf) {
return js_base64_1.Base64.fromUint8Array(new Uint8Array(hashBuf), true);
}
exports.base64UrlEncode = base64UrlEncode;