js壓縮、js混淆、js加密,有什么不同?
js壓縮、js混淆、js加密,有什么不同?
?
什么js壓縮?
js壓縮,目的是讓js代碼變的體積變小。
比如,去除注釋、去除回車(chē)換行、把長(zhǎng)變量名變短,甚至去除未使用的代碼。
常用的js壓縮工具,推薦:Uglifyjs
?
什么是js混淆?
“混淆”是個(gè)外來(lái)詞,來(lái)自英文:Obfuscate,是將js代碼轉(zhuǎn)換成功能相同,但是難于閱讀和理解的代碼形式。
比如:數(shù)字1可轉(zhuǎn)化成0x4cfee^0x4cfef;
比如:true可轉(zhuǎn)化成!![];
比如:1+1,可轉(zhuǎn)化成:function(s,h){return s+h;}(210172^210173,522441^522440),等等。
?
什么是js加密?
js加密,與js混淆的界限是比較模糊的,js加密也是將js代碼變的難以理解,但js加密從名稱(chēng)上理解的話(huà),它更側(cè)重于用加密算法對(duì)數(shù)據(jù)進(jìn)行保護(hù)。
比如:用base64可逆算法,對(duì)字符串進(jìn)行加密;
比如:用escape對(duì)代碼進(jìn)行加密,等等。
?
JS混淆加密目的是讓js代碼更安全,防止被他人分析、修改等,也可用于小游戲過(guò)審等場(chǎng)合。js混淆加密工具,推薦:JShaman
?
js壓縮和混淆加密工具,可以同時(shí)使用嗎?
如果既想保護(hù)js代碼,又想壓縮體積,那么兩種工具是可以同時(shí)使用的,但使用順序需要注意,要先混淆加密,再壓縮體積。
?
標(biāo)簽: