列举8种最常见的js加密方法

JavaScript代码加密和混淆有多种方法,以下是其中一些常见的方法和相应的示例:

  1. 字符位移加密:将代码中的字符转换为ASCII码,然后进行位移操作。
function encrypt(text, shift) {
  let encryptedText = '';
  for (let i = 0; i < text.length; i++) {
    const char = text.charCodeAt(i);
    encryptedText += String.fromCharCode(char + shift);
  }
  return encryptedText;
}

function decrypt(encryptedText, shift) {
  let decryptedText = '';
  for (let i = 0; i < encryptedText.length; i++) {
    const char = encryptedText.charCodeAt(i);
    decryptedText += String.fromCharCode(char - shift);
  }
  return decryptedText;
}

const originalCode = 'console.log("Hello, World!");';
const encryptedCode = encrypt(originalCode, 3);
eval(decrypt(encryptedCode, 3));

2.Base64编码:将代码使用Base64编码进行混淆。

const originalCode = 'console.log("Hello, World!");';
const encodedCode = btoa(originalCode); // 编码
const decodedCode = atob(encodedCode); // 解码
eval(decodedCode);

3.字符串拼接:将代码分成多个小字符串,然后拼接它们以动态生成原始代码。

const str1 = 'console.lo';
const str2 = 'g("Hello, ';
const str3 = 'World!");';
eval(str1 + str2 + str3);

4.函数调用混淆:将代码包装在自定义函数中,然后通过函数调用来执行代码。

function executeCode() {
  console.log("Hello, World!");
}

executeCode();

5.代码压缩和美化:使用工具对代码进行压缩和美化,使其难以阅读和理解。

// 压缩前
function sayHello(name) {
  console.log("Hello, " + name);
}

// 压缩后
function a(b){console.log("Hello, "+b)}

6.加密工具和库:使用专门的JavaScript加密工具和库,如UglifyJS、Terser等。

// 使用UglifyJS
const uglyCode = UglifyJS.minify(originalCode).code;
eval(uglyCode);

7.自定义加密算法

开发自定义的加密算法来混淆代码,通常需要更高级的技术和数学知识。

这些只是一些常见的JavaScript代码加密和混淆方法的示例。请注意,虽然这些方法可以增加代码的复杂性,但它们通常不能提供足够的安全性来防止有意的攻击。更重要的是,过度的代码混淆可能会导致代码难以维护和调试。在实际应用中,应根据安全需求和维护性来选择合适的加密和混淆方法。

8.在线js加密

直接到在线js加密网站去加密自己的代码,企业级的加密算法,不用自己折腾安全性更高。

一般的简单的加密代码网站还配有一键在线JS解密
在这里插入图片描述

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
文件上传是一个常见的 Web 应用程序功能,允许用户将文件上传到服务器上。然而,攻击者可以利用文件上传功能来上传恶意文件,从而破坏 Web 应用程序或服务器。下面列出了一些文件上传的绕过方式和基本原理: 1. 更改文件扩展名:攻击者可以更改文件扩展名,例如将 .php 文件重命名为 .jpg 文件,从而绕过服务器的文件类型检查。 2. MIME 类型欺骗:攻击者可以使用 MIME 类型欺骗来绕过服务器的文件类型检查。例如,将 .php 文件上传为 image/jpeg 类型。 3. 文件头欺骗:攻击者可以在文件头中添加特殊字符,从而欺骗服务器认为上传的文件是允许的文件类型。 4. 使用不安全的文件路径:攻击者可以使用不安全的文件路径来上传文件,例如使用 "../" 来访问上级目录中的文件。 5. 使用特殊字符:攻击者可以使用特殊字符来绕过服务器的文件名检查,例如使用 "../" 或 null 字符。 6. 绕过文件大小限制:攻击者可以在上传文件时通过多次上传或压缩文件的方式来绕过服务器的文件大小限制。 7. 操作 cookie:攻击者可以使用 cookie 窃取会话 ID,然后使用会话 ID 登录 Web 应用程序,并上传恶意文件。 8. 使用代理服务器:攻击者可以使用代理服务器来上传文件,从而隐藏自己的真实 IP 地址。 9. 使用加密文件:攻击者可以使用加密文件来绕过服务器的文件类型检查。 10. 绕过文件类型检查:攻击者可以使用多个文件上传表单,或者使用 JavaScript 来绕过服务器的文件类型检查。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值