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

news2025/1/14 20:30:07

在这里插入图片描述

简介

这里给大家汇总常用不常用的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加密。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108409.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app--》基于小程序开发的电商平台项目实战(七)完结篇

&#x1f3cd;️作者简介&#xff1a;大家好&#xff0c;我是亦世凡华、渴望知识储备自己的一名在校大学生 &#x1f6f5;个人主页&#xff1a;亦世凡华、 &#x1f6fa;系列专栏&#xff1a;uni-app &#x1f6b2;座右铭&#xff1a;人生亦可燃烧&#xff0c;亦可腐败&#xf…

OSG粒子系统特效-----雨雪、爆炸、烟雾

1、烟雾效果 飞机坠毁 陨石坠落 源码&#xff1a; // CMyOSGParticle.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <windows.h> #include <osgViewer/Viewer>#include <osg/Node> #inc…

动态规划:从入门到入土系列(二)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;&#x1f35f;&#x1f32f;C语言进阶 &#x1f511;个人信条: &#x1f335;知行合一 前言 一、…

AI AIgents时代-(五.)Autogen

由微软开发的 Autogen 是一个新的 Agents 项目&#xff0c;刚一上线就登上GitHub热榜&#xff0c;狂揽11k星✨✨✨ 项目地址&#xff1a;https://github.com/microsoft/autogen Autogen 允许你根据需要创建任意数量的Agents&#xff0c;并让它们协同工作以执行任务。它的独特之…

LeetCode算法栈—有效的括号

目录 有效的括号 用到的数据结构&#xff1a; 位运算、Map 和 Stack Stack 常用的函数&#xff1a; 题解&#xff1a; 代码&#xff1a; 运行结果; 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符…

SpringBoot2.x简单集成Flowable

环境和版本 window10 java1.8 mysql8 flowable6 springboot 2.7.6 配置 使用IDEA创建一个SpringBoot项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.…

GitHub下载太慢的解决方案

修改hosts文件&#xff1a; windows的hosts文件在 C:\Windows\System32\drivers\etc\hosts cmd管理员运行命令notepad C:\Windows\System32\drivers\etc\hosts 然后cmd命令重启网络ipconfig /flushdns windows修改hosts Ubuntu22.04修改hosts sudo vim /etc/hosts # This fil…

RK3288 Android11 mini-pcie接口 4G模组EC200A适配(含自适应功能)

这里写目录标题 1、修改驱动内核配置①使能USBNET功能②使能 USB 串口 GSM、CDMA 驱动③使能 USB 的 CDC ACM模式④使能PPP功能 2、使用lsusb命令查看是否识别到usb接口的“EC200A”4G模组3、在drivers/usb/serial/option.c添加VID和PID信息①添加VID和PID定义②在option_ids 数…

找寻openSUSE的前世今生

找寻开始的地方 在一些资产管理平台、网管系统&#xff0c;完全依赖资产录入资产&#xff0c;假如存在SUSE类型网元&#xff0c;能否将SLES和openSUSE一同接入到SUSE类型下&#xff0c;就有待商榷了。 SLES和openSUSE是两个不同的Linux发行版&#xff0c;更准确说是两个不同的…

基于PHP的蛋糕甜品商店管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

python读写.pptx文件

1、读取PPT import pptx pptpptx.Presentation(rC:\Users\user\Documents\\2.pptx) # ppt.save(rC:\Users\user\Documents\\1.pptx) # slideppt.slides.add_slide(ppt.slide_layouts[1])# 读取所有幻灯片上的文字 for slide in ppt.slides:for shape in slide.shapes:if shape…

[尚硅谷React笔记]——第4章 React ajax

目录&#xff1a; 脚手架配置代理_方法一 server1.js开启服务器server1:App.js解决跨域问题&#xff1a;脚手架配置代理_方法二 ​​​​​​​server2.js开启服务器server2第一步&#xff1a;创建代理配置文件编写setupProxy.js配置具体代理规则&#xff1a;App.js运行结果&a…

js实现红包雨功能(canvas,react,ts),包括图片不规则旋转、大小、转速、掉落速度控制、屏幕最大红包数量控制等功能

介绍 本文功能由canvas实现红包雨功能&#xff08;index.tsx&#xff09;本文为react的ts版。如有其他版本需求可评论区观赏地址&#xff0c;需过墙 import React, { Component } from react; // import ./index.css; import moneyx from /assets/images/RedEnvelopeRain/bal…

SEO业务适合什么代理IP?2023海外代理IP推荐排名

随着数字营销趋势的变化&#xff0c;搜索引擎优化仍然是企业在网络世界中努力繁荣的重要组成部分。为了实现 SEO 成功&#xff0c;从搜索引擎获取准确且多样化的数据至关重要&#xff0c;然而可能会受到诸如基于位置的限制和被检测风险等限制的阻碍&#xff0c;IP代理则可以帮助…

百度开源分布式id生成器集成--真香警告

百度开源分布式id生成器集成–真香警告 文章目录 [toc] 1.为什么需要分布式id生成器&#xff1f;2.常见id生成方案2.1 数据库表主键自增2.2 uuid2.3 雪花算法2.3.1 实现代码2.3.2 缺点的解决方案百度开源的分布式唯一ID生成器UidGenerator(本文重点讲解这个)Leaf--美团点评分布…

gnome-terminal禁止关闭确认

当你想要关闭一个终端时&#xff0c;弹出“确认关闭&#xff1f;”多少有些烦。 比如当前为root下&#xff0c;要么一路exit&#xff0c;要么就点击确认&#xff1a; 解决方法&#xff1a; 安装一个配置编辑器来帮我们方便地编辑配置项 sudo apt install dconf-editor找到…

小程序搭建OA项目首页布局界面

首先让我们来学习以下Flex布局 一&#xff0c;Flex布局简介 布局的传统解决方案&#xff0c;基于盒状模型&#xff0c;依赖 display属性 position属性 float属性 Flex布局简介 Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的…

tomcat、nginx实现四层转发+七层代理+动静分离实验

实验环境&#xff1a; nginx1——20.0.0.11——客户端 静态页面&#xff1a; nginx2——20.0.0.21——代理服务器1 nginx3——20.0.0.31——代理服务器2 动态页面&#xff1a; tomcat1——20.0.0.12——后端服务器1 tomcat2——20.0.0.22——后端服务器2 实验步骤&…

什么是4K三路虚拟情景互动教学软件?

4K三路虚拟情景互动教学软件具备了AI对话&#xff0c;场景库丰富自定义选择&#xff0c;画面色差调节&#xff0c;人物滤镜调节&#xff0c;截图编辑&#xff0c;视频录制与编辑&#xff0c;视频直播&#xff0c;画中画控制功能&#xff0c;字幕&#xff0c;图片和特效录入功能…

sqlmap --os-shell选项原理解析

文章目录 sqlmap --os-shell选项原理解析原理解析总结 sqlmap --os-shell选项原理解析 以sqli第一关为例。 --os-shell 是 SQLMap 工具的一个参数&#xff0c;用于在成功注入数据库后&#xff0c;执行操作系统命令并获取其输出。 sqlmap -u "http://192.168.188.199/sq…