JS加密、JS混淆,有這些用:
1、前端JS代碼,如果不加密,它人可以隨便copy、任意修改。自己寫(xiě)的代碼,可以輕易成為別人的成果。
對(duì)JS代碼混淆加密,則可以防止這種他人隨意白嫖的問(wèn)題,代碼是自己辛辛苦苦寫(xiě)的,通常情況下,很少有人愿意自己的勞動(dòng)成果被他人免費(fèi)享用。
注:如果是毫無(wú)用處的代碼、無(wú)任何價(jià)值的代碼除外,比如hello word之類。或者大公無(wú)私、愿意免費(fèi)奉獻(xiàn)者除外,如開(kāi)源項(xiàng)目。
另注:混淆加密JS代碼,并不敢說(shuō)100%保證上述事情發(fā)生,但90%是能保證的吧,最起碼,不是如源碼般被別人copy就能用。
2、微信小程序、小游戲之類的h5代碼,情形于上相似,可輕易解包得到j(luò)s代碼,因?yàn)闆](méi)對(duì)js代碼有效保護(hù),才導(dǎo)致雷同游戲、重游泛濫,發(fā)行前將代碼混淆加密,可以很大程度上避免被侵權(quán)、被復(fù)刻的問(wèn)題。
3、后端js代碼,如nodejs,如果開(kāi)發(fā)方將源碼交付給委托方,委托方可以自己修改、維護(hù)未加密的nodejs代碼,開(kāi)發(fā)方將失去后續(xù)合作的機(jī)會(huì)。如果將nodejs代碼加密再交付,則可在技術(shù)上對(duì)委托方形成制約,可長(zhǎng)期合作,實(shí)現(xiàn)雙方共盈。
4、JS代碼混淆加密之后,還可得到法律層面的保護(hù)。這主要是因?yàn)椋簩?duì)加密的JS代碼進(jìn)行逆向,逆向者將面臨以下多種法律風(fēng)險(xiǎn)。
a、侵權(quán)責(zé)任:加密的JS代碼或相關(guān)產(chǎn)品在涉及生產(chǎn)經(jīng)營(yíng)時(shí),逆向者可能侵害對(duì)方商業(yè)利益、技術(shù)機(jī)密等,被侵權(quán)方可視受到的侵害起訴追責(zé)。
b、刑事責(zé)任:進(jìn)行JS代碼解密,對(duì)第三方造成損害,涉嫌觸犯『中華人民共和國(guó)刑法第286條』破壞計(jì)算機(jī)信息系統(tǒng)罪,可處五年以下有期徒刑或者拘役;后果特別嚴(yán)重的,處五年以上有期徒刑。
c、行政責(zé)任:收費(fèi)逆向JS代碼,除了觸犯刑法第286條,同時(shí)還犯侵犯著作權(quán)罪,根據(jù)『中華人民共和國(guó)刑法第217條』侵犯著作權(quán)罪,可處三年以下有期徒刑,特別嚴(yán)重情節(jié)的,處三年以上十年以下有期徒刑。
d、傳播責(zé)任:逆向者不直接進(jìn)行JS代碼逆向,而是開(kāi)發(fā)工具、或?qū)⒛嫦蜻^(guò)程寫(xiě)成文章發(fā)布,此行為視為傳授犯罪方法,犯?jìng)魇诜缸锓椒ā8鶕?jù)『中華人民共和國(guó)刑法第295條』傳授犯罪方法罪,可處五年以下有期徒刑,情節(jié)特別嚴(yán)重的,處十年以上有期徒刑或者無(wú)期徒刑。
綜上所述,對(duì)js代碼加密,用處多多,好處多多。
比如,用JShaman進(jìn)行JS代碼混淆加密,未加密前的代碼,如下圖中:
加密之后,生成的代碼,如下圖所示:
由圖可見(jiàn),相比源碼,加密后的JS代碼,變的混亂、不可讀、不可理解。直觀、直接的感受也是代碼安全了許多。
本文發(fā)布日期:2023.8.14,未經(jīng)作者許可,不得轉(zhuǎn)載、不得修改轉(zhuǎn)載。
特別聲明:以上內(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.