当前位置: 首页 > news >正文

Web开发-JS应用原生代码前端数据加密CryptoJS库jsencrypt库代码混淆

知识点:
1、安全开发-原生JS-数据加密&代码混淆
2、安全开发-原生JS-数据解密安全案例

一、演示案例-WEB开发-原生JS&第三方库-数据加密

前端技术JS实现:
1、非加密数据大致流程:
客户端发送->明文数据传输-服务端接受数据->处理数据
 
2、加密数据大致流程:
客户端发送->明文加密->密文数据传输-服务端接受数据->解密数据->处理数据

前端加密-Crypto库

项目地址:https://github.com/brix/crypto-js
参考文章:https://juejin.cn/post/7382893339181613068
使用Crypto库进行MD5/SHA1/HMAC/AES/DES等加密

下载到本地调用:
<script src="crypto-js.js"></script>

在线远程调用:
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>

base64编码-JS原生

在这里插入图片描述
在这里插入图片描述

MD5

在这里插入图片描述
在这里插入图片描述

SHA1

在这里插入图片描述

在这里插入图片描述

HMAC

在这里插入图片描述
在这里插入图片描述

AES

http://tool.chacuo.net/cryptaes
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

DES

http://tool.chacuo.net/cryptaes
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

前端加密-jsencrypt库

项目地址:https://github.com/travist/jsencrypt
参考文章:https://www.cnblogs.com/Lrn14616/p/10154529.html

使用jsencrypt库进行RSA等加密

下载本地调用:
<script src="jsencrypt.js"></script>

在线远程调用:
<script src="https://cdn.bootcdn.net/ajax/libs/jsencrypt/3.3.2/jsencrypt.js"></script>

在这里插入图片描述
在这里插入图片描述
http://tool.chacuo.net/cryptaes
在这里插入图片描述

公钥加密,私钥解密(反之私钥加密,公钥解密)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安全测试–AES-DEMO

一个登录页面,密码被加密对安全测试的影响。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果用户传输的密码是加密的,那么在进行爆破的时候也要对应加密传输,如果直接传明文过去,对方一接收解密就会出错,从而造成干扰。

从加密数据逆向代码分析加密逻辑
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果要本地调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安全测试-MD5-某真实博客

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果要本地调试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安全测试-AES-某真实系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、演示案例-WEB开发-在线混淆-代码混淆

混淆代码的主要目的是保护源代码,防止未经授权的复制、篡改或逆向工程。通过对变量名、字符串和控制流的修改,混淆代码看似毫无逻辑,但本质功能未变。混淆技术常用于商业应用和恶意软件中。

压缩

去除js代码中的不必要的空格、换行等内容。使源码压缩为几行内容,降低代码可读性,提高网站的加载速度。

混淆

使用变量替换、僵尸函数、字符串阵列化、控制流平坦化、调试保护等手段,使代码变得难以阅读和分析,达到最终保护的目的,不影响代码原有功能,是理想、实用的javascript保护方案。

在线混淆

在这里插入图片描述

https://obfuscator.io/ //国外的js混淆网站
在这里插入图片描述
在这里插入图片描述

相关文章:

  • unityAB包(1/2)
  • Arduino示例代码讲解:Multiple tone player 多音播放器
  • 【优选算法】二分算法模板总结及应用
  • 图解AUTOSAR_CP_SOMEIP_Transformer
  • Datawhale大语言模型-Transformer以及模型详细配置
  • BFS--------N叉树的层序遍历
  • WPF的主题切换
  • 基于视觉的核桃分级与套膜装置研究(大纲)
  • 深度学习 Deep Learning 第5章 机器学习基础
  • 使用自定义指令实现css样式层叠
  • DeDeCMS漏洞
  • Matrix-Breakout-2-Morpheus靶场通关心得:技巧与经验分享
  • 机器学习-手搓KNN算法
  • 小程序API —— 54 路由与通信 - 编程式导航
  • Mistral AI发布开源多模态模型Mistral Small 3.1:240亿参数实现超越GPT-4o Mini的性能
  • Handler消息机制源码分析
  • 从模拟到现实:Sensodrive高精度力反馈技术赋能物流运输的高效与安全
  • 基于Wasm的边缘计算Pandas:突破端侧AI的最后一公里——让数据分析在手机、IoT设备上飞驰
  • 若依 Excel导入与导出 配置下拉选项
  • 通过蒸馏大模型训练建筑向智能助手模型的思路
  • 广西北流出现强降雨,1人被洪水冲走已无生命体征
  • 泽连斯基:俄代表团级别低,没人能做决定
  • 试点首发进口消费品检验便利化措施,上海海关与上海商务委发文
  • 广西壮族自治区政府主席蓝天立任上被查
  • 全国省市县国土空间总体规划已基本批复完成,进入全面实施阶段
  • 李强:把做强国内大循环作为推动经济行稳致远的战略之举