js压缩、混淆和加密工具

最近遇到js压缩、混淆和加密的问题,特意找了些资料看了下,找到了一篇博客总结比较到位,搬过来学习下,主要是自己记笔记,可以直接去原文看,我这里只记录(复制粘贴)重点。
原文地址:https://www.cnblogs.com/flyrui316/p/5002320.html

1.先看几个定义:

压缩:删除 Javascript 代码中所有注释、跳格符号、换行符号及无用的空格,从而压缩 JS 文件大小,优化页面加载速度。

混淆:经过编码将变量和函数原命名改为毫无意义的命名(如function(a,b,c,e,g)等),以防止他人窥视和窃取 Javascript 源代 码,也有一定压缩效果。

加密:一般用eval方法加密,效果与混淆相似,也做到了压缩的效果。

从定义中可以看出,压缩的主要目的是消除注释等无用字符,达到精简 js 代码,减小js文件大小的目的,这也是页面优化的一种方式;而混淆和加密的目的比较接近,都是为了防止他人直接查看源码,对代码(如重要的api等)起保护作用,但这也只是增加了阅读代码的代价,也就是所谓的防君子不防小人。但是当混淆和加密联合使用时,如先混淆在加密(或者先加密再混淆)时,破解时间就会增加。

2.那么问题来了,浏览器是怎么解析混淆和加密后的js代码的?

其实变量名只要是Unicode字符就行了,对于js引擎来说都是一样的,只是人类觉得他们不同而已。

3.js压缩工具

其实js的压缩工具网上有很多,在线和安装版的都有,文章中使用的是HDS JSObfuscator v2.13绿色版。

4.注意事项

js文件一定要按照规范编写,分号,注释符,var等都要规范,否则很容易出错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值