首页 > 其他分享 >JS加密、JS混淆的好处与作用。

JS加密、JS混淆的好处与作用。

时间:2023-08-14 19:32:02浏览次数:43  
标签:逆向 加密 混淆 代码 有期徒刑 JS

JS加密、JS混淆,有这些用:

1、前端JS代码,如果不加密,它人可以随便copy、任意修改。自己写的代码,可以轻易成为别人的成果。

对JS代码混淆加密,则可以防止这种他人随意白嫖的问题,代码是自己辛辛苦苦写的,通常情况下,很少有人愿意自己的劳动成果被他人免费享用。

注:如果是毫无用处的代码、无任何价值的代码除外,比如hello word之类。或者大公无私、愿意免费奉献者除外,如开源项目。

另注:混淆加密JS代码,并不敢说100%保证上述事情发生,但90%是能保证的吧,最起码,不是如源码般被别人copy就能用。

2、微信小程序、小游戏之类的h5代码,情形于上相似,可轻易解包得到js代码,因为没对js代码有效保护,才导致雷同游戏、重游泛滥,发行前将代码混淆加密,可以很大程度上避免被侵权、被复刻的问题。

3、后端js代码,如nodejs,如果开发方将源码交付给委托方,委托方可以自己修改、维护未加密的nodejs代码,开发方将失去后续合作的机会。如果将nodejs代码加密再交付,则可在技术上对委托方形成制约,可长期合作,实现双方共盈。

4、JS代码混淆加密之后,还可得到法律层面的保护。这主要是因为:对加密的JS代码进行逆向,逆向者将面临以下多种法律风险。

a、侵权责任:加密的JS代码或相关产品在涉及生产经营时,逆向者可能侵害对方商业利益、技术机密等,被侵权方可视受到的侵害起诉追责。

b、刑事责任:进行JS代码解密,对第三方造成损害,涉嫌触犯『中华人民共和国刑法第286条』破坏计算机信息系统罪,可处五年以下有期徒刑或者拘役;后果特别严重的,处五年以上有期徒刑。

c、行政责任:收费逆向JS代码,除了触犯刑法第286条,同时还犯侵犯著作权罪,根据『中华人民共和国刑法第217条』侵犯著作权罪,可处三年以下有期徒刑,特别严重情节的,处三年以上十年以下有期徒刑。

d、传播责任:逆向者不直接进行JS代码逆向,而是开发工具、或将逆向过程写成文章发布,此行为视为传授犯罪方法,犯传授犯罪方法。根据『中华人民共和国刑法第295条』传授犯罪方法罪,可处五年以下有期徒刑,情节特别严重的,处十年以上有期徒刑或者无期徒刑。

综上所述,对js代码加密,用处多多,好处多多。

比如,用JShaman进行JS代码混淆加密,未加密前的代码,如下图中:

JS加密、JS混淆的好处与作用。_js代码

加密之后,生成的代码,如下图所示:

JS加密、JS混淆的好处与作用。_代码混淆_02

由图可见,相比源码,加密后的JS代码,变的混乱、不可读、不可理解。直观、直接的感受也是代码安全了许多。

本文发布日期:2023.8.14,未经作者许可,不得转载、不得修改转载。

标签:逆向,加密,混淆,代码,有期徒刑,JS
From: https://blog.51cto.com/jsjiami/7080218

相关文章

  • json字符串转换对象或列表,多了字段不会报错
    json字符串转换对象或列表,多了字段不会报错//DEMO1转换对象应用riskIdpublicclassItem{privateStringid;privateStringrate;publicItem(Stringid,Stringrate){this.id=id;this.rate=rate;}@Overridepubl......
  • NodeJS系列(10)- Next.js 框架 (三)
    在“NodeJS系列(8)-Next.js框架(一)”里,我们简单介绍了Next.js的安装配置,创建了nextjs-demo项目,讲解和演示了Next.js项目的运行、路由(Routing)、页面布局(Layout)等内容。在“NodeJS系列(9)-Next.js框架(二)”里,我们在nextjs-demo项目基础上,讲解和演示了Next.js项目......
  • NodeJS系列(11)- Next.js 框架 (四)
    在“NodeJS系列(8)-Next.js框架(一)”里,我们简单介绍了Next.js的安装配置,创建了nextjs-demo项目,讲解和演示了Next.js项目的运行、路由(Routing)、页面布局(Layout)等内容。在“NodeJS系列(9)-Next.js框架(二)”里,我们在nextjs-demo项目基础上,讲解和演示了Next.js项目......
  • Vuejs装饰器风格开发教程(前言、模板项目、类属性、类方法)
    教程前言AOP切面编程是面向对象开发中的一种经典的编程范式,旨在将横切关注点与核心业务逻辑分离来提高代码的模块性和可维护性。如:日志记录、事务管理等就属于横切关注点。在为H5提供Android原生支持时,曾将插件模块改造为AOP模式,实现插件的自动注册。Java领域的SpringBoo......
  • vue语法错误 + Promise错误 + js 错误,通过钉钉报警
      一、背景:为了使系统更加稳定,在用户使用期间,若发现异常,可及时应对,采取了“报警机制”。通常“报警机制”分为2种,一种是后端对api监控及自定义监控,出现异常,通过钉钉或邮件的形式通知,第二种是前端对js语法,vue语法,自定义报错进行监控,以此来规范代码质量,保证系统预警二、流程......
  • vue中使用sockjs
    1,安装依赖npminstallsockjs-client--savenpminstall stompjs--save2,使用混入封装在src下创建mixins文件夹,然后创建sockjs.js文件importSockJSfrom"sockjs-client";importStompfrom"stompjs";exportconstsockjsMixins={data(){return{......
  • 深入思考 Next.js App Directory 架构
    写在前面:新的App目录架构一直是最近Next.js发布的主要亮点,这一点引发了许多讨论。在这篇文章中,AtilaFassina探讨了这种新策略的优势和风险,并反思了您是否应该立即在生产环境中使用它。自从Next.js13release发布以来,关于其描述的新功能的稳定性引发了一些争议。我们在“W......
  • 一个含有奇数和偶数的数组,在js中如何对它进行排序,使得其中奇数升序,偶数还在原来的位置
    一个含有奇数和偶数的数组,在js中如何对它进行排序,使得其中奇数升序,偶数还在原来的位置?ZWMLLL于2019-05-0912:00:00发布1222收藏1文章标签:JS版权思路:我们可以返回数组array中的奇数,形成一个新的奇数odd数组(利用filter()返回),同时在建立一个位置place数组来保存每个奇数的位置......
  • npm 更改package.json 中依赖包前缀
    ~会匹配最近的小版本依赖包,比如~1.2.3会匹配所有1.2.x版本,但是不包括1.3.0^会匹配最新的大版本依赖包,比如^1.2.3会匹配所有1.x.x的包,包括1.3.0,但是不包括2.0.0 *这意味着安装最新版本的依赖包 推荐使用~ npmconfigsetsave-prefix='~'......
  • JS的对象分类原来还有这些门道
    在前面的课程中,我已经讲解了JavaScript对象的一些基础知识。但是,我们所讲解的对象,只是特定的一部分,并不能涵盖全部的JavaScript对象。比如说,我们不论怎样编写代码,都没法绕开Array,实现一个跟原生的数组行为一模一样的对象,这是由于原生数组的底层实现了一个自动随着下标变化的l......