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代碼得到了保護,人類很難讀取,即可不逆,起碼絕大多數不可逆,可以有效的起到保護代碼的作用。而機器運行即不受影響,可以像保護之前一樣使用。