常用JS加密/解密类型以及案例

在这里插入图片描述

简介

这里给大家汇总常用不常用的JS加密案例,免得大家用的时候到处去找例子。

正题

  1. 对称加密

    • 替代字符表示法:使用Base64或类似的编码对数据进行简单的转换,不过这并不是真正的加密,而只是一种表示形式的转换。

    • <!DOCTYPE html>
      <html>
      <body>
      
      <h2>Base64编码示例</h2>
      
      <p>原始文本: Hello, World!</p>
      
      <p>Base64编码结果:</p>
      <p id="encoded-text"></p>
      
      <script>
          var text = "Hello, World!";
          var encodedText = btoa(text);
          document.getElementById("encoded-text").innerHTML = encodedText;
      </script>
      
      </body>
      </html>
      
    • JavaScript加密库:通过在HTML中嵌入JavaScript加密库,可以实现一些对称加密算法,如AES(Advanced Encryption Standard)等。

    • // AES
      <!DOCTYPE html>
      <html>
      <head>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
      </head>
      <body>
      
      <h2>AES加密示例</h2>
      
      <p>原始文本: Hello, World!</p>
      
      <p>AES加密结果:</p>
      <p id="encrypted-text"></p>
      
      <script>
          var plaintext = "Hello, World!";
          var passphrase = "MySecretPassphrase";
      
          // Encrypt
          var encryptedText = CryptoJS.AES.encrypt(plaintext, passphrase).toString();
      
          document.getElementById("encrypted-text").innerHTML = encryptedText;
      </script>
      
      </body>
      </html>
      
  2. 非对称加密

    • RSA加密:通过使用JavaScript实现RSA算法,可以在浏览器中进行非对称加密。但是这种方法可能存在性能问题,尤其是在处理大量数据时。

    • <!DOCTYPE html>
      <html>
      <head>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/3.0.0/jsencrypt.min.js"></script>
      </head>
      <body>
      
      <h2>RSA加密示例</h2>
      
      <p>原始文本: Hello, World!</p>
      
      <p>RSA加密结果:</p>
      <p id="encrypted-text"></p>
      
      <script>
          var text = "Hello, World!";
          var encrypt = new JSEncrypt();
          var publicKey = "YOUR_PUBLIC_KEY"; // 请用真实的公钥替换
          encrypt.setPublicKey(publicKey);
          var encrypted = encrypt.encrypt(text);
          document.getElementById("encrypted-text").innerHTML = encrypted;
      </script>
      
      </body>
      </html>
      
    • JavaScript加密库:使用JavaScript加密库如OpenSSL或其他JavaScript加密库,可以在HTML中实现非对称加密功能。

    • const crypto = require('crypto');
      
      const plaintext = 'Hello, World!';
      const publicKey = `-----BEGIN PUBLIC KEY-----
      YOUR_PUBLIC_KEY
      -----END PUBLIC KEY-----`; // 请用实际的公钥替换
      
      const encrypted = crypto.publicEncrypt(publicKey, Buffer.from(plaintext));
      
      console.log(encrypted.toString('base64'));
      
  3. 哈希加密

    • MD5/SHA-1/SHA-256等哈希算法:通过JavaScript实现这些哈希算法,可以对数据进行单向的哈希加密,生成相应的哈希值。
    • MD5哈希加密
    • JavaScript加密库:一些JavaScript加密库提供了多种哈希算法的实现,可以直接在HTML中调用这些库来实现哈希加密。
    htmlCopy code<!DOCTYPE html>
    <html>
    <body>
    
    <h2>MD5哈希加密示例</h2>
    
    <p>原始文本: Hello, World!</p>
    
    <p>MD5哈希值:</p>
    <p id="md5-hash"></p>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
    <script>
        var text = "Hello, World!";
        var md5Hash = CryptoJS.MD5(text).toString();
        document.getElementById("md5-hash").innerHTML = md5Hash;
    </script>
    
    </body>
    </html>
    
    1. SHA-1哈希加密
    htmlCopy code<!DOCTYPE html>
    <html>
    <body>
    
    <h2>SHA-1哈希加密示例</h2>
    
    <p>原始文本: Hello, World!</p>
    
    <p>SHA-1哈希值:</p>
    <p id="sha1-hash"></p>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
    <script>
        var text = "Hello, World!";
        var sha1Hash = CryptoJS.SHA1(text).toString();
        document.getElementById("sha1-hash").innerHTML = sha1Hash;
    </script>
    
    </body>
    </html>
    
    1. SHA-256哈希加密
    htmlCopy code<!DOCTYPE html>
    <html>
    <body>
    
    <h2>SHA-256哈希加密示例</h2>
    
    <p>原始文本: Hello, World!</p>
    
    <p>SHA-256哈希值:</p>
    <p id="sha256-hash"></p>
    
    <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
    <script>
        var text = "Hello, World!";
        var sha256Hash = CryptoJS.SHA256(text).toString();
        document.getElementById("sha256-hash").innerHTML = sha256Hash;
    </script>
    
    </body>
    </html>
    
  4. SSL/TLS

    • 使用HTTPS协议:尽管不是HTML本身的一部分,但可以通过在HTML页面中引用HTTPS链接来确保数据在传输过程中的安全性。

需要注意的是,在实际应用中,为了实现更强大的加密功能,往往需要借助其他技术。单一的对数据进行加密没有太大的作用,用户可以通过分析前端代码模拟出一样的加密内容。

为了进一步加大保护系数,建议使用jsjiami一键在线JS加密工具把所有逻辑加密一遍,变成看不懂的逻辑,但功能保持不变。

关于最后

如果有部分用户,在加密JS的时候,忘记备份自己的源代码导致源代码丢失,可以找上边网站的客服进行付费的人工解密服务。任何加密都可以,只要是js加密。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值