列举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
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值