JS加密网缝、JS混淆,是一回事嗎蟋定?
是的粉臊!在國(guó)內(nèi),JS加密驶兜,其實(shí)就是指JS混淆扼仲。
1、當(dāng)人們提起JS加密時(shí)抄淑,通常是指對(duì)JS代碼進(jìn)行混淆加密處理屠凶,而不是指JS加密算法(如xor加密算法、md5加密算法肆资、base64加密算法阅畴,等等...)
2、而“JS混淆”這個(gè)詞迅耘,來(lái)源于國(guó)外的稱呼贱枣,在國(guó)外稱為javascript obfuscate或js obfuscate,obfuscate的本意是“混淆”颤专。所以纽哥,有的人用國(guó)外的翻譯名稱,稱為js混淆栖秕。
3春塌、無(wú)論是js加密,還是js混淆簇捍,他們的功能只壳,都是對(duì)js代碼進(jìn)行保護(hù),使可讀的明文js代碼變的不可讀暑塑,防護(hù)自己寫(xiě)的js代碼被他人隨意閱讀吼句、分析、復(fù)制盜用事格。
4惕艳、之所以進(jìn)行js加密搞隐,原是因?yàn)閖s代碼是明文編程,無(wú)論是前端網(wǎng)頁(yè)環(huán)境的js代碼远搪,還是nodejs后端代碼劣纲,都是直接執(zhí)行編寫(xiě)好的源代碼(不像其它語(yǔ)言一樣有編譯的過(guò)程,執(zhí)行和對(duì)外發(fā)布時(shí)使用的是編譯后的程序谁鳍,js是直接執(zhí)行源碼癞季、對(duì)外發(fā)布也是源碼),所以倘潜,為了提升js代碼安全性绷柒,就有了js加密、js混淆操作窍荧。
5、很多人討論JS加密的必要性恨憎,有的人認(rèn)為很重要蕊退,有的人認(rèn)為不需要,人們看法并不統(tǒng)一憔恳。簡(jiǎn)單來(lái)說(shuō):如果是無(wú)所謂的代碼瓤荔,隨便別人怎么拷貝或修改都無(wú)所謂,那就直接不用管钥组。如果代碼有價(jià)值输硝,不希望別人隨便copy去使用、不想讓別人知道其中邏輯等等程梦,那就加密点把。加密后的js代碼,不一定能保證100%安全了屿附,但肯定比不加密強(qiáng)郎逃,很簡(jiǎn)單的道理。
6挺份、怎樣進(jìn)行js加密褒翰、js混淆?非常簡(jiǎn)單匀泊,有不少成熟產(chǎn)品优训,比如JShaman、JS-Obfuscator各聘、JsJiami.Online等等揣非,一般都是一鍵式操作,簡(jiǎn)單的很躲因、方便的很妆兑、快捷的很魂拦,對(duì)程序員朋友來(lái)說(shuō)完全是小case。