JavaScript加密注意事项,怎么加密JS脚本最安全?

JavaScript加密话题

#.  JavaScript  需不需要加密?

#.怎么  加密JS  最安全?

#.怎么把  JS  中的URL地址、秘钥隐藏起来?

#.  JavaScript加密  注意事项是什么?

下面一一说来... ...

一、JavaScript需不需要加密?

前段时间看见几个“JavaScript大牛”再某平台讨论,在讨论JavaScript是否需要加密,大部分“JavaScript大牛”说没必要加密。

我来说说我的看法把。

1、一般的业务JavaScript代码,如正常的业务JavaScript,基本没必要加密,做一个压缩变量名、方法名,做整体的压缩,为了减少JavaScript代码体积,从而加快加载速度。而加密都会把体积变大,越复杂的加密越把代码体积变大了。

2、如果是敏感的业务,那肯定肯定肯定肯定是要加密的,但是不是单纯的加密,不是说写完业务代码后加个密就解决了,也就是就要整体设计了。

二、怎么加密JS最安全?

    JS加密就是套路,  JavaScript加密  没有最安全的,只有套路最深的。  JavaScript  不管您怎么加密最终需要给浏览器认识,就有一个解密的过程。所以JS加密最后还是能解密,解密 不等于 还原 ,所以不管怎么加密,最终都可以还原个大概,这个只是时间问题,有的人看到这里就会慌了,就会说那加密还有什么意思?

那我问问?DES对称加密美国中情局采用的类似加密能不能解密?我可以肯定回答您,“可以”,只是时间问题,但凡本身就是可逆的加密,不管是有秘钥还是没秘钥都能解密,只是时间问题,一天、一月、一年、五年、十年、一百年、总可以解密,因为代码本身是可逆的。

总结:

在书写业务代码的时候就要设计到安全问题,一般最好是把整体业务做拆分,核心计算的业务最好放到后台,宁愿加载多次也不要把核心代码放到前端完成。把简单的代码复杂化。把简单的逻辑搞复杂化然后加密。

三、怎么把JS中的URL地址、秘钥隐藏起来?

如果  JS代码  中有URL地址,不想让别人看到,加密即可解决。但是要复杂化,那就需要复杂化了,下面看个例子。

//原来的代码
$.get("https://www.jsjiami.com/demo/load.js");


//人工复杂化
(function (a,b,c,d,e) {
    e = e || {
        e:'w'+'ww',
        j:'jsji'+'ami',
        a:'.co'+'m/d'+'emo/loa'+'d',
        c:'ht'+'tps://',
        d:'ge'+'t'
    };
    a[e?e.d:e](e.c+e.e+e.j+e.a+c+d);
})($,'g','.j','s');

虽然不加密比较容易看出来,但是这个代码再加密一下,效果比源码好得多。秘钥也一样。

另外可以再A页面获取秘钥、B页面加工秘钥、C页面再使用秘钥,可以存储到  cookie  、cache/item中。

四、JavaScript加密注意事项是什么?

1、尽量采用闭包的方式,像  JQuery  一样。采用一个全局变量赋值闭包的方式调用。如果需要加密的JS是多个JS依赖调用,那么可能会出现方法名或者变量名加密后修改成其他的了,所以会出现方法名或者变量名未定义。

2、加密的  JS代码  中不能有其他语言代码,比如  PHP  、  Java  等代码。如果不明白为什么,请先了解JS /PHP等代码运行的顺序。

3、加密的代码不要省略”;”、“{ 和 }” 最牛加密里面有讲解。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值