특정 문자열 리터럴을 난독화할 수있는 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()
메서드를 사용하는 경우에만이 문자열을 난독 화해야하지만 사용하는 키가 다른 곳에서는 사용되지 않기 때문에 문제가되지 않습니다.
그러나 나는 원하지 않습니다. ALL 내 응용 프로그램의 문자열 리터럴을 난독 화합니다. 모든 문자열 리터럴이 객체 속성 키로 사용되는 것은 아닙니다.
도구에서 그렇게해야 할 경우 난독 처리해야하는 키 목록을 수동으로 정의해도 괜찮습니다.
어떻게이 작업을 수행 할 수 있습니까?
클로저 컴파일러, YUI, unglifyjs 또는 이와 유사한 항목과 같이 일반적으로 사용되는 난독 화 도구 중 하나를 사용하여이 작업을 수행 할 수 있습니까?
왜 필요합니까? 누구나'Object.keys' 또는 임의의'for .. in' 루프를 통해 임의의 객체로부터 키를 얻을 수 있습니다. – Pinal
알려진 키 집합에 대해 모든 mapper.get (key) [및 모든 mapper.put (key , x) 등] mapper.get (obfuscate (key), ...) 어디에 obfuscate (key)는 키와 관련없는 대체 문자열을 생성합니까? 그리고 그게 당신이하고 싶은 모든 것입니까? (기존의 난독 화 작업을 원하십니까?) –
코드를 축소하고 싶습니다. 개발 중에는 사람이 읽을 수있는 "first"와 같은 키를 가지고있는 것이 편리합니다. 아무도 그것들을 필요로하지 않고 그냥 공간을 차지합니다. – Malki