首页 > 其他分享 >借灰姑娘的手,讲述js加密的美丽

借灰姑娘的手,讲述js加密的美丽

时间:2023-04-25 12:33:12浏览次数:30  
标签:混淆 加密 代码 js 灰姑娘 加密算法 调试器

这个故事的主角是灰姑娘,她有一个重要的秘密,需要将其保护起来。但是,她发现她的网站上的 JavaScript 代码很容易被其他人阅读和修改,为了保护这个秘密,她需要采用一些混淆和加密技术。

以下是她使用的一些技术:

1.函数调用混淆

灰姑娘混淆了函数的调用方式,从而使得代码难以被阅读和理解。例如,将函数的调用从 showSecretMessage() 修改为 eval(atob('c2hvd1NlY3JldE1lc3NhZ2UoKQ==')),这使得代码变得难以理解。

2.加密算法

灰姑娘使用了一些加密算法来保护她的数据。例如,她使用了 MD5 哈希算法来对敏感数据进行加密。以下是一个例子:

const secretData = 'My secret data';
const md5Hash = CryptoJS.MD5(secretData).toString();

console.log(md5Hash); // 输出: 59d8e1c44915f279c66a61e22733a3c3

在这个例子中,secretData 被加密为 md5Hash,只有使用相同的 MD5 哈希算法才能正确解密数据。

3.反调试技术

灰姑娘使用了一些反调试技术来防止其他人使用调试器分析她的代码。例如,她在代码中加入了一些断点检测的代码,当其他人使用调试器时,程序会在这里中断,并返回错误信息。

function checkDebugger() {
  try {
    debugger;
  } catch (e) {
    alert('调试器检测到错误,请关闭调试器!');
  }
}

checkDebugger();

在这个例子中,当其他人使用调试器时,会触发 debugger 语句,导致程序中断,并弹出错误信息。

总之,灰姑娘采用了多种混淆和加密技术来保护她的秘密,包括函数调用混淆、加密算法和反调试技术。这些技术使得她的代码难以被阅读和理解,从而增加了秘密的安全性。

如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我都可以。

如遇自己源码加密后没备份,可以找我们解决解出恢复源码,任何加密都可以

标签:混淆,加密,代码,js,灰姑娘,加密算法,调试器
From: https://blog.51cto.com/u_15781271/6223762

相关文章

  • js空值判断
    js空值判断参考:https://blog.csdn.net/yun_master/article/details/115015113参考:https://blog.csdn.net/szl199107101035/article/details/123839403......
  • 前端使用CryptoJS加密解密
    1、安装crypto-js;npminstallcrypto-js--save-devyarnaddcrypto-js--dev2、新建unit.js写成公共方法;constCryptoJS=require('crypto-js');//16位十六进制数作为密钥(秘钥为随机生成,必须与后端保持一致!)constkey=CryptoJS.enc.Utf8.parse("xxxxxxxxxxxxxx");//......
  • js 异步请求
     //标签$.ajax({url:'/TagManager/MatchList',dataType:'json',data:{functionId:$('#FunctionId').val()},async:true,success:function(data){tag=$("#Tag&......
  • 浏览器4行js代码自动读取IC卡号
    BS架构软件集成IC卡读卡器,在前段只需要4行js代码即可实现自动读取IC卡卡号,在web上使用IC卡读卡器其实就是这么简单.首先安装友我IC卡读卡器web插件,这个web插件安装后之后goole浏览器,火狐,IE等浏览器,然后插上IC卡读卡器YW-607HC,然后开始敲js代码了.引入相应的js后,开始寻卡......
  • window操作系统安装多个版本nodejs版本-控制工具nvm
    参考:https://blog.csdn.net/m0_38134431/article/details/118388297https://juejin.cn/post/7044890876631318564电脑上已经安装了10.x版本的nodejs,你不想直接更新到12.x,想同时保存10.x和12.x版本,在必要的时候还能随时切换nodejs版本,nvm工具可以实现一、首先要安装nvm下载地......
  • 微服务-node.js
    权威解释Node.js®isaJavaScriptruntimebuiltonChrome’sV8JavaScriptengine.Node.jsusesanevent-driven,non-blockingI/Omodelthatmakesitlightweightandefficient.Node.js’packageecosystem,npm,isthelargestecosystemofopensourcelibraries......
  • js字符串与json对象处理
    直接上代码:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>点绘制济南省</title></head><bodystyle="margin:0;overflow:hidden;background:#fff;width:100%;height:100%;position:absolu......
  • vue3+jointjs 使用模板添加元素
    关于如何在Vue3和JointJS中使用拖拽模板来创建节点元素,可以按照以下步骤进行:1.安装JointJS使用npm进行安装:```npminstalljointjs```2.在Vue3中创建JointJS容器在Vue3中创建一个组件,用于创建JointJS的画布和节点。在组件的生命周期方法`mounted`......
  • 前端vue使用jsencrypt进行RAS加密/解密
    前端安装:npminstalljencrypt--sava在utils下创建jsencrypt.js文件,内容如下:importJSEncryptfrom"jsencrypt/bin/jsencrypt.min";/**RSA秘钥对生成网站http://web.chacuo.net/netrsakeypair*//**公钥512位*/constpublicKey='MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJ......
  • 用户密码加密存储与铺垫知识jwt工具类使用
    用户密码加密存储密码加密存储实际项目我们不会把密码明文存储在数据库中。默认使用PasswordEncoder要求数据库中的密码格式为{id}passwrod。它会根据id去判断密码为加密方式。但是我们一般不会采用这种方式。所以就需要替换PasswordEncod......