VUE加解密MD5、RSA(分段)、AES(SHA1PRNG)

2023-10-27

md5方法:  使用 crypto-js

1 安装: npm install crypto-js
 
2 引用: import CryptoJS from 'crypto-js'
 
3 加密: let md5 = CryptoJS.MD5("test").toString();
 

RSA方法: 使用 jsencrypt

1 安装: npm install jsencrypt
 
2 引用: import JsEncrypt from 'jsencrypt'
 
3 加密: 
    let jsEncrypt= new JsEncrypt();
    jsEncrypt.setPublicKey(PUBLIC_KEY); // 设置 加密公钥
    let signature = jsEncrypt.encrypt(data); // 进行加密
 
4 解密:
    let jsEncrypt= new JsEncrypt();
    jsEncrypt.setPrivateKey(prikey); // 设置私钥
    let str = jsEncrypt.decrypt(signature);

RSA分段加解密方法: 使用 encryptlong

1 安装: npm install encryptlong
 
2 引用: import EncryptLong from 'encryptlong'
 
3 加密: 
    let encryptor = new EncryptLong();
    encryptor.setPublicKey(PUBLIC_KEY); // 设置 加密公钥
    let signature = encryptor.encryptLong(data);  // 进行加密
 
4 解密:
    let encryptor = new EncryptLong();
    encryptor.setPrivateKey(PRIVATE_KEY);  // 设置私钥
    let str = encryptor.decryptLong(signature);

AES方法:使用 crypto-js

加密:
     // 转换秘钥
    let realKey = CryptoJS.SHA1(SECRET_KEY);
    realKey = CryptoJS.SHA1(realKey).toString().substring(0, 32); //真正的key
 
    let message = JSON.stringify(data);
    let key =  CryptoJS.enc.Hex.parse(realKey);
    let srcs = CryptoJS.enc.Utf8.parse(message);
    let encrypted = CryptoJS.AES.encrypt(srcs, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    let cipherText = encrypted.toString();
 
 
解密:
    // 转换秘钥
    let realKey = CryptoJS.SHA1(SECRET_KEY);
    realKey = CryptoJS.SHA1(realKey).toString().substring(0, 32); //真正的key
    let key = CryptoJS.enc.Hex.parse(realKey);
 
    let content = CryptoJS.enc.Base64.parse(data);
    let decrypt = CryptoJS.AES.decrypt({ciphertext: content}, key, {mode:CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});
    let content = decrypt.toString(CryptoJS.enc.Utf8);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE加解密MD5、RSA(分段)、AES(SHA1PRNG) 的相关文章

  • 从 JavaScript 加载图像

    在我的专辑幻灯片放映页面上 我有类似的代码 span style display none img src imageUrl span span show loader span in showImage 我确定图像已加载 因此我显示图像并
  • 如何在 vuelidate 验证中使用条件运算符?

    我刚刚安装维埃利达特 https www npmjs com package vuelidate 并创建了一个助手来检查该值是否为phone no 参考 https vuelidate js org sub list of helpers
  • 如何从 javascript 错误对象读取错误消息

    有人可以帮我解决以下问题吗 我正在通过 redux 操作进行后调用 如下所示 export const addEmployee firstName surname contactNumber email gt async dispatch
  • 使用非常大的背景位置偏移是否存在性能问题?

    我正在构建一个进度条控件 并且正在研究它实际上并不显示进度 而只是旋转 正在发生某事 的指示器的情况 我的设计基本上是交替的对角条纹 本质上是一个像这样的理发杆 但是 旋转 由于希望将尽可能多的负载转移给渲染引擎 我想为此使用 CSS 过渡
  • 每n秒执行一次函数

    我制作了这个在 10 秒后点击链接的代码片段 function timeout window setTimeout function img left click 1000 setTimeout timeout 1000 timeout 我
  • 在 Cordova 中合并文件的多个部分

    在我的 Cordova 应用程序中 我正在下载任意文件 例如图像或视频文件 这是通过 Cordova 文件传输插件和 Range 标头完成的 因为我需要分段下载文件 我的问题是 我想将几 个小 字节 文件合并回原来的文件中 他们曾经在其中使
  • 如何用 JavaScript 修复图像透视变形和旋转?

    我有一些用手机拍摄的图像 有没有可以拉直纸张照片并将其压平的 JavaScript 库 例如 我想创建一个矩形图像 该图像没有任何失真 换句话说我想知道如何用 JavaScript 修复透视变形和旋转 例如 我发现下面的示例图像来自this
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • Angular UI-Router:多个 URL 到单一状态

    我已经开始使用 Angular 的 ui router 并且我正在尝试弄清楚如何让多个 URL 引用单个状态 例如 orgs 12354 overview retyrns the same pages as org overview 我的
  • 对使用“new”创建的数组上“map”的行为感到困惑[重复]

    这个问题在这里已经有答案了 我对结果感到困惑mapping 使用创建的数组new function returnsFourteen return 14 var a new Array 4 gt undefined x 4 in Chrome
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • 如何使用 NextJS 使用自托管字体face?

    使用 NextJS 的字体 我已经阅读了有关如何在 NextJS 中使用自托管字体的不同主题 我得到了什么 wait compiling 当我这样做时 font face font family montserrat src url myp
  • Javascript等待/异步执行顺序

    所以我试图把我的头脑集中在 Promise await async 上 我不明白为什么当 go 执行时 带有 finished 的警报会紧随 console log coffee 之后 当所有函数都使用等待 承诺时 为什么它只等待 getC
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 如何使用 fetch() 和 WhatWG 流获取文件上传进度

    注意 我并不是在寻找任何替代方案 我知道这可以通过 XMLHttpRequest 来完成 我也不关心浏览器支持 我只想了解新的 即将推出的标准 我有一个File https developer mozilla org en US docs
  • 如何使用 jQuery 过滤 DropDownList 中的选项

    我有 2 个 DropDownList 第一个 DropDownList 有 4 个选项 第二个 DropDownList 有 20 个选项 我想要一个选项value 1在第一个 DropDownList 中选择我在第二个 DropDown
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • VS Code 扩展 - 获取完整路径

    我正在为 VS Code 编写一个插件 我需要知道调用扩展的文件的路径 无论是从编辑器上下文菜单或资源管理器上下文菜单调用还是用户只需键入扩展命令 function activate context get full path of the

随机推荐

  • VMware中安装Ubuntu

    前言 本文档将演示通过 VMware 安装 Ubuntu 所使用的文件如下 VMware Workstation Pro ubuntu 16 04 6 desktop amd64 iso 本文档分为三个部分 新建虚拟机 安装系统 调整页面
  • gradle引入依赖包/maven引入依赖包

    1 打开https mvnrepository com 搜索出需要的jar包 2 点击进入需要jar包 选择maven或gradle的tab页 复制依赖url即可 如图 3 gradle项目的话 点击buildDependents即可 如图
  • 工业机器人仿真参考

    最近有一些朋友看到我做的关于Unity3d仿真机器人的项目 本次我在平台做以分享 希望的朋友或者有需要在此基础做开发的可以参考下 开发工具 下位机 Unity3D 上位机 Visual Studio 机械臂模型 TH6 QKM SCARA
  • Linux内核启动过程学习

    过完年来 敲着键盘都有点生疏了 很多东西都有点忘记了 还有刚上班还有点不习惯 状态还没有转换过来 没有办法趁这个机会就复习一下Linux的启动过程吧 asmlinkage void init start kernel void char c
  • 用python做自动化测试--序

    几年来 都有个想法 写个 用Python做自动化测试 的系列文章 把自己的经验和大家共享 和大家多交流 同时总结下自己掌握的东西 但苦于一直忙 其实准确点的说是自己懒 迟迟没有开始 我想不能再懒了 要不以后会更忙 更懒 我为什么选择pyth
  • Python统计学实例之正态分布:计算男女身高相差>5厘米的概率

    正态分布计算 示例1 正态分布计算实例 计算男女身高相差 gt 5厘米的概率 解题思路 用到的公式 总结 正态分布计算实例 计算男女身高相差 gt 5厘米的概率 假设男生身高 X N 71 20 25 女生身高 Y N 64 16 解题思路
  • Docker安装部署FastDFS详细过程

    FastDFS分布式文件存储的由来 在我们的项目中有很多需要存储的内容出现 比如图片 视频 文件等等 在早期的时候用户量不大 产生的文件也不是很多 这时我们可以把文件和服务程序放在一个服务器中 随着文件越来越多 服务器的资源会被文件资源大量
  • centos7:搭建部署confluence(6.10.0)

    1 test env host ip 20 20 20 20 host name centos7 ssh soft 2 安装jdk sudo rpm ivh jdk 8u181 linux x64 rpm sudo vim etc prof
  • 【C++】对象初始化和清理

    对象的初始化和清理 首先 我们创建完一个类后 当我们需要对类进行初始化 而当我们完成工作后 需要对类进行清理 这些工作 分别需要调用构造函数和析构函数 构造函数和析构函数的定义与特点 构造函数 1 作用 主要作用于对创建的对象成员属性进行初
  • 好的asp.net网站和论坛(转)

    站点推荐 http expert csdn net Expert topic 3008 3008621 xml temp 8 143252E 02 1 ASP Net中怎么样实现水晶报表在客户端打印 ms help MS VSCC 2003
  • linux下svn revert递归恢复

    svn revert R
  • 记住看小电影前一定要检查网址是不是 HTTPS 的,不然…

    看小电影还是浏览正常网站 一定要检查是不是 HTTPS 的 HTTP有可能被中间人攻击和拦截 下面就是详细的 HTTPS 原理 细思极恐 1 HTTP 协议在谈论 HTTPS 协议之前 先来回顾一下 HTTP 协议的概念 1 1 HTTP
  • Wireshark的流量分析例题

    简述流量分析 网络流量分析是记录和分析网络流量以出于性能 安全性 网络操作 管理和排障为目的分析网络流量的过程 它是使用自动技术检查网络流量中的详细级别细节和统计信息的过程 为了更好的去体会流量分析 我们使用wireshark来进行演示 演
  • JAVA学习【2】错误:无法从静态上下文中引用非静态

    编程时遇到 错误 无法从静态上下文中引用非静态 输出10到20的数字 程序如下 public class MyCode1 int count 10 public static void main String args while coun
  • 顺序表的实现与基本操作

    1 顺序表定义 1 1 顺序表定义 静态分配 c语言实现 include
  • sqli-labs 5~6 多命通关攻略

    sqli labs 5 6 多命通关攻略 描述 判断注入类型 正常输入 不正常输入 错误输入 判断 SQL 查询结果的列数 猜测 SQL 查询结果中的列数为两列 猜测 SQL 查询结果中的列数为三列 猜测 SQL 查询结果中的列数为四列 爆
  • 全面了解虚幻引擎 5

    Incredibuild 与 Epic 合作密切 并与虚幻引擎深度集成 因此对于虚幻引擎 5 的发布 我们也是既期待又兴奋 不得不说 虚幻引擎 5 没有辜负我们的期待 在技术上达到了真正的 虚幻 级别 虚幻引擎 4 的进步本身也不少 公正地
  • Python---Anaconda安装

    目录 前言 Anaconda介绍 特点 一 下载安装包 1 1 官网直接下载 1 2 清华镜像网下载 二 安装 三 配置 3 1 配置环境变量 3 2 验证安装 anaconda验证 python版本验证 3 3 anaconda设置 更改
  • 故障分析

    作者 刘晨 网名 bisal 具有十年以上的应用运维工作经验 目前主要从事数据库应用研发能力提升和技术管理相关的工作 Oracle ACE 腾讯云TVP 拥有 Oracle OCM OCP EXIN DevOps Master SCJP 等
  • VUE加解密MD5、RSA(分段)、AES(SHA1PRNG)

    md5方法 使用 crypto js 1 安装 npm install crypto js 2 引用 import CryptoJS from crypto js 3 加密 let md5 CryptoJS MD5 test toStrin