![]()
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ù)自己寫的js代碼被他人隨意閱讀、分析、復(fù)制盜用。
4、之所以進(jìn)行js加密,原是因?yàn)閖s代碼是明文編程,無(wú)論是前端網(wǎng)頁(yè)環(huán)境的js代碼,還是nodejs后端代碼,都是直接執(zhí)行編寫好的源代碼(不像其它語(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。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.