UNPKG

hscrypt

Version:

Encrypt Javascript bundles (at build time), inject+decrypt them into pages later (in the browser)

22 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toHexString = exports.fromHexString = exports.SOURCE_PREFIX_ARRAY = exports.SOURCE_PREFIX = exports.NONCE_LENGTH = exports.SALT_LENGTH = exports.DEFAULT_ITERATIONS = exports.DECRYPTION_KEY_LENGTH = exports.HSCRYPT_CONFIG_VAR = void 0; // Name of a global config object stored on `window` exports.HSCRYPT_CONFIG_VAR = 'HSCRYPT_CONFIG'; // Cipher params exports.DECRYPTION_KEY_LENGTH = 32; exports.DEFAULT_ITERATIONS = 20000; exports.SALT_LENGTH = 32; exports.NONCE_LENGTH = 12; // Prepend this to source before encrypting, verify+remove during decryption, to check whether decryption succeeded exports.SOURCE_PREFIX = '/* hscrypt */ '; exports.SOURCE_PREFIX_ARRAY = new TextEncoder().encode(exports.SOURCE_PREFIX); function fromHexString(hexString) { return new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16))); } exports.fromHexString = fromHexString; function toHexString(bytes) { return bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), ''); } exports.toHexString = toHexString; //# sourceMappingURL=utils.js.map