noscrape
Version:
obfuscate your content
22 lines • 932 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.obfuscateString = void 0;
const lodash_1 = require("lodash");
const puaRange = Array.from({ length: 0xf8ff - 0xe000 }, (_, i) => 0xe000 + i);
const obfuscateString = (text, mapping) => {
const availableChars = (0, lodash_1.omitBy)(puaRange, (v) => (0, lodash_1.includes)(mapping, v));
let obfuscated = "";
for (const c of text) {
if (!mapping[c]) {
const keys = Object.keys(availableChars).map((k) => +k);
const randomKeyIndex = Math.floor(Math.random() * keys.length);
const randomKey = keys[randomKeyIndex];
mapping[c] = availableChars[randomKey];
delete availableChars[randomKey];
}
obfuscated += String.fromCharCode(mapping[c]);
}
return obfuscated;
};
exports.obfuscateString = obfuscateString;
//# sourceMappingURL=obfuscateString.js.map