混淆字符串文字& javascript中的对象键?

时间:2015-01-28 11:38:30

标签: javascript obfuscation google-closure-compiler uglifyjs

我正在寻找能够混淆特定字符串文字的Javascript模糊处理工具。

我有这样的类函数:

function Mapper() {
    var map = {};
    this.put = function(name, val) {
        map[name] = val;
    };
    this.get = function(name) {
        return map[name];
    };
}

在我的代码中使用它是这样的:

var mapper = new Mapper();
mapper.put("first", 123);
mapper.put("second", 999);
var value = mapper.get("first");
// etc...

我想混淆关键名称 - "first", "second" - 因为它们仅在开发期间相关 我显然需要对这些字符串进行模糊处理,只有在mapper put()get()方法的上下文中使用它们,但这不是问题,因为我使用的密钥不会在任何地方使用否则在我的申请中 但是,我不希望所有我的应用中的字符串文字被混淆。并非所有字符串文字都用作对象属性键 如果工具要求我这样做,我不介意手动定义应该被混淆的密钥列表。

如何做到这一点?

有没有办法用Closure Compiler,YUI,unglifyjs或类似的常用混淆工具之一来做到这一点?

1 个答案:

答案 0 :(得分:1)

Closure Compiler既有“ReplaceStrings”又支持替换“id generator”。没有更多细节,我会假设id生成器替换是你想要的。