JavaScript保护密钥的方法详解

 更新时间:2024年10月30日 08:45:31   作者:w2sfot  
在前端js编程中,如果涉及到加密通信、加密算法,经常会用到密钥,但密钥,很容易暴露, 暴露原因:js代码透明,在浏览器中可以查看源码,从中找到密钥,所以本文给大家介绍了前端js中如何保护密钥,需要的朋友可以参考下

在前端js编程中,如果涉及到加密通信、加密算法,经常会用到密钥

但密钥,很容易暴露。 暴露原因:js代码透明,在浏览器中可以查看源码,从中找到密钥。

例如,下面的代码中,变量key是密钥:

如何保护源码中的密钥呢?

很多时候,人们认为需要对密钥字符串进行加密。其实更重要的是对存储密钥的变量进行加密

加密了密钥变量,使变量难以找到,才更能保护密钥本身。

顺着这个思路,下面给出一个不错的密钥的保护方法:

还是以上面的代码为例,

首先,用到jsfuck:

https://www.jshaman.com/tools/jsfuck.html

将代码中的密钥定义整体,用jsfuck加密:

var key = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

加密后得到一串奇怪的字符,这是将变量“key ”以及密钥字符“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”隐藏了起来

注意:加密时需要选中“在父作用域中运行”,选中之后,key 变量的定义虽然不存在,但变量key是可用的!(这点很神奇)。也就是虽然代码中没有定义这个变量,但这个变量存在,且可用。而且它存储的就是密钥!

用加密后的代码替换掉原来的代码,变成如下形式:

运行效果:

即时他人拿走代码去调试,也会显示变量key未定义,如下图所示:

但,这时候还不足够安全,还能更安全。

将整体JS代码,再用JS加密工具:JShaman,进行混淆加密:

https://www.jshaman.com

然后得到更安全、更难调试分析的JS代码,这时密钥就变的更安全了:

注:用ajax等异步传递密钥时,也可以使用这个办法,也能很好的隐藏密钥。

用jsfuck+jshaman保护JS中的密钥,你学会了吗?

到此这篇关于JavaScript保护密钥的方法详解的文章就介绍到这了,更多相关JavaScript保护密钥内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 快速对接payjq的个人微信支付接口过程解析

    快速对接payjq的个人微信支付接口过程解析

    这篇文章主要介绍了快速对接payjq的个人微信支付接口过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • JavaScript实现求最大公共子串的方法

    JavaScript实现求最大公共子串的方法

    这篇文章主要介绍了JavaScript实现求最大公共子串的方法,涉及javascript针对字符串的遍历、匹配、运算等相关操作技巧,需要的朋友可以参考下
    2018-02-02
  • Web js实现复制文本到粘贴板

    Web js实现复制文本到粘贴板

    这篇文章主要为大家详细介绍了Web js实现复制文本到粘贴板,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 微信小程序实现顶部普通选项卡效果(非swiper)

    微信小程序实现顶部普通选项卡效果(非swiper)

    这篇文章主要为大家详细介绍了微信小程序实现顶部普通选项卡效果,非swiper,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 基于JavaScript实现弹出框效果

    基于JavaScript实现弹出框效果

    弹出框在网站页面中是必不可少的一部分,今天借助脚本之家平台给大家分享使用js实现简单的弹出框效果,感兴趣的朋友一起学习吧
    2016-02-02
  • JavaScript实现自定义拖拽排序列表

    JavaScript实现自定义拖拽排序列表

    在Web开发中,拖拽排序是一个常见的需求,它允许用户通过拖拽的方式重新排列列表项的顺序,本文将介绍如何使用原生JavaScript实现这一功能,需要的可以了解下
    2024-01-01
  • 表单切换,用回车键替换Tab健(不支持IE)

    表单切换,用回车键替换Tab健(不支持IE)

    表单切换,用回车键替换Tab健。input的属性tab的值表示切换的顺序,这个值必须是连续的,并且不能重复。目前不支持IE
    2011-07-07
  • JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍

    JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍

    cookie是网站设计者放置在客户端(浏览器)的小文本文件,cookie不仅能够实现保存密码功能,还可以通过cookie保存最近浏览记录增加用户体验。本文给大家介绍js使用cookie实现记住密码功能及cookie相关函数讲解,感兴趣的朋友一起看看吧
    2016-11-11
  • Javascript的IE和Firefox兼容性汇编

    Javascript的IE和Firefox兼容性汇编

    Javascript的IE和Firefox兼容性汇编...
    2006-07-07
  • webpack配置文件外置的两种实现方式

    webpack配置文件外置的两种实现方式

    webpack配置环境变量文件,是根据打包命令寻找对应的环境变量文件,从而获取接口地址,本文就来介绍一下webpack配置文件外置的两种实现方式,感兴趣的可以了解一下
    2023-12-12

最新评论