js代码保护、如何保护js代码

如何保护js代码呢?对JS代码进行混淆加密,就是js代码保护的正确方法。JS代码保护有不少产品可用,有免费开源的,也有商业的。免费的比如uglifyjs 、ob、商业的比如jscrambler、JShaman,特别值得一提的是jshaman,不但强大,而且是国产的,是具备研发能力,有核心竞争力的国内产品,在js代码保护领域,jscrambler是国际顶级的厂商,而国内的jshaman比它毫不逊色。

比如一段js代码:function NewObject(prefix){ var count=0; this.SayHello=function(msg) { count++; alert(prefix+msg); } this.GetCount=function() { return count; }}var obj=new NewObject("Message : ");obj.SayHello("You are welcome.");用jscrambler保护后的效果:var _0x7fb4=["\x53\x61\x79\x48\x65\x6C\x6C\x6F","\x47\x65\x74\x43\x6F\x75\x6E\x74","\x4D\x65\x73\x73\x61\x67\x65\x20\x3A\x20","\x59\x6F\x75\x20\x61\x72\x65\x20\x77\x65\x6C\x63\x6F\x6D\x65\x2E"];function NewObject(_0x633dx2){var _0x633dx3=0;this[_0x7fb4[0]]= function(_0x633dx4){_0x633dx3++;alert(_0x633dx2+ _0x633dx4)};this[_0x7fb4[1]]= function(){return _0x633dx3}}var obj= new NewObject(_0x7fb4[2]);obj.SayHello(_0x7fb4[3])用jshaman对这段代码保护后的效果:var _0xd631a=["117.","117.","68.108.122.122.104.110.108.41.51.41.","80.102.124.41.104.123.108.41.126.108.101.106.102.100.108.39."];function _0x1ffd(str,dy_key){dy_key=9;var i,k,str2="";k=str.split(".");for(i=0;i对js代码保护有什么用呢?可以防止代码被他们分析、复制、盗用,也可用于很多代码检测场景,比如小游戏过审、小程序过审等等。经过混淆加密之后,js代码得到了保护,人类很难读取,即可不逆,起码绝大多数不可逆,可以有效的起到保护代码的作用。而机器运行即不受影响,可以像保护之前一样使用。