vue rsa加密解密,签名验证

前端VUE3使用RSA加密向后端传输密码 阅读详情

需要引入两个包

一个是进行加密,解密的:npm install jsencrypt --save
一个是进行签名验证的:npm install jsrsasign --save

加密,解密

在main.js中引入

import JsEncrypt from 'jsencrypt'

挂载在main.js中的加密解密方法

/**
 * JSEncrypt 加密
 * @param {Object} strIng
 * @return {string} 
 */ 
Vue.prototype.$JSEncrypt = function(strIng){
	// 实例化一个JSEncrypt对象
	let jse = new JsEncrypt();
	// 设置公钥(公钥秘钥需自己生成)
	jse.setPublicKey(`-----BEGIN PUBLIC KEY-----
	MIGfMA0GCSqGSIb3DQEBAQUAA4(假的公钥)
	-----END PUBLIC KEY-----`);
	// 加密
	let encrypted = jse.encrypt(strIng);
	return encrypted;
}

/**
 * JSEncrypt 解密
 * @param {Object} strIng
 * @return {string} 
 */ 
Vue.prototype.$decryptData = function(strIng){
	let jse = new JsEncrypt();
	// 设置秘钥
	jse.setPrivateKey(`-----BEGIN RSA PRIVATE KEY-----
	MIICeAIBADANBgkqhkiG9w(假的秘钥)
	-----END RSA PRIVATE KEY-----`);
	// 解密加密过的字符串
	let decrypted = jse.decrypt(strIng);
	// 打印结果
	return decrypted;
}

在页面中使用

var a = this.$JSEncrypt('Hello word');
var c = this.$decryptData(a);
console.log('加密生成:'+a);
console.log('解密生成:'+c);

签名生成

import jsRsasign from 'jsrsasign'
/**
 * 生成签名
 * @param {Object} strIng
 * @return {type}
 */
Vue.prototype.$getSignCode = function(strIng){
	// 创建RSAKey对象
	var rsa = new jsRsasign.RSAKey();
	//因为后端提供的是pck#8的秘钥对,所以这里使用 KEYUTIL.getKey来解析秘钥
	var signPrivateKey = `-----BEGIN PRIVATE KEY-----
		MIICeAIBADANBgkqhkiG9w(假的秘钥)
		-----END PRIVATE KEY-----`
	// 将密钥转码,其实就是将头部尾部默认字符串去掉
	signPrivateKey = jsRsasign.KEYUTIL.getKey(signPrivateKey);
	// 创建Signature对象,设置签名编码算法
	// alg:对应的是规则 需要和后端统一
	var sig = new jsRsasign.KJUR.crypto.Signature({"alg": "MD5withRSA","prov": "cryptojs/jsrsa","prvkeypem": signPrivateKey});
	// 初始化
	sig.init(signPrivateKey)
	// 传入待加密字符串
	sig.updateString(strIng);
	// 生成密文
	var sign = jsRsasign.hextob64(sig.sign());
	// 对加密后内容进行URI编码
	// sign = encodeURIComponent(sign);
	//把参数与密文拼接好,返回
	var params = 'Str='+strIng+'&sign='+sign; 
	return params;
}
var b = this.$getSignCode('Hello word');
console.log(b);

验证签名

/**
 * 验证签名
 * @param {String} strIng 签名前的明文
 * @param {String} data 签名后的数据
 * @return {Boolean} true | false
 */
Vue.prototype.$attestationCode = function(strIng,data){
	// 创建RSAKey对象
	var rsa = new jsRsasign.RSAKey();
	//因为后端提供的是pck#8的公钥对,所以这里使用 KEYUTIL.getKey来解析公钥
	var signPublicKey = `-----BEGIN PUBLIC KEY-----
		MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCqpXgllRE6tZCMmqpocGV6Swf1QrPi5DPry/7D8z7NTW5VbLz+
		l2wbi2KLlgzUb6hMvzx/UP/to+
		TZvBaKavRaTKm/mdu4/vNrTg3KvZ6DcYa7aYqGNZEjzrwmFPOf1LQ0h5+jSxyIbwhViO7G4HtcmgtjTz0YyHgZyiBiCxQPtwIDAQAB
		-----END PUBLIC KEY-----`
	// 将公钥转码
	signPublicKey = jsRsasign.KEYUTIL.getKey(signPublicKey);
	// 创建Signature对象,设置签名编码算法
	var sig = new jsRsasign.KJUR.crypto.Signature({"alg": "MD5withRSA","prov": "cryptojs/jsrsa","prvkeypem": signPublicKey});
	// 初始化
	sig.init(signPublicKey)
	// 传入待加密字符串
	sig.updateString(strIng);
	// !接受的参数是16进制字符串!
	let sign = sig.verify(jsRsasign.b64tohex(data));
	return sign;
}
var e = this.$attestationCode('Hello word',b);
console.log(e);
国密SM4,javaScript / vue加密解密 java加密解密 文章目录1. SM算法简介2. 百度SM4算法 实现的心酸历程3. SM4 前端javascript代码实现加密解密4. SM4 后端java代码实现5. 测试SM4是否可用 1. SM算法简介 SM算法:国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。 SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成 阅读详情

相关推荐

射频测试基础知识总结

表示可以辐射到空间的电磁频率,频率范围从300KHz~110GHz之间,射频简称RF,是高频交流变化电磁波的简称,其每秒变化小于1000次被称为低频电流,超过10000次的称为高频电流,而射频就是这种高频电流。为了确保天线接收的信号能够在接收机的最后一级被正确的恢复,一个好的低噪音放大器需要在放大信号的同时产生尽可能低的噪音以及失真。两种,带内试验的范围也有一定的差别,比如,带内试验主要是检测信号的质量,如功率、频谱宽度、调制质量,而带外测试的是信号的杂散、谐波,主要是看对频带之外的干扰有多大。

cny70的博客 9631

Vue前端使用jsrsasign工具RSA签名与后台Java拦截器,JAVA实现RSA签名、验签功能

1977年,由三位数学家(Rivest、Shamir 和 Adleman )联合发表了RSA算法,算法名称的来源是三位科学家的首字母的和。在随后的几十年,RSA加密算法,在密码领域中大放异彩,成为非对称加密的代表加密算法。该加密算法的原理就是对一极大整数做因数分解的困难性来保证安全性。并且随着密钥长度的不断增加,以当下的计算机运算水平,是不可能在有限的时间下,暴力破解出密钥,而攻破该算法的。1.后台生成公私钥对 2.前端JS使用私钥进行签名 3.后端Java使用公钥验证签名使用hutool 工具包.....

a498420237的博客 4364

【Linux】Petalinux使用QSPI FLASH引导启动

1. 预分配Flash空间使用Flash引导Petalinux做的系统,也有进阶的做法。部分图片和经验来源于网络,若有侵权麻烦联系我删除,主要是做笔记的时候忘记写来源了,做完笔记很久才写博客。1. 预分配Flash空间根据生成的bit文件大小估算BOOT.BIN文件的大小,为Flash大概分配四个分区:boot、bootenv、kernel、bootscr,分别存放BOOT.BIN文件、u-boot的环境变量、内核文件(image.ub/zImage/uImage等)、启动脚本boot.scr。

Tesseract_9527的博客 3375

jsrsasign 前端 RSA加密/解密、加签/验签 详解

RSA概述 1978年出现了著名的RSA算法,它通常是先生成一对RSA密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。 RSA允许你选择公钥的大小。512位的密钥被视为不安全的;768位的密钥不用担心受到除了国家安全管理(NSA)外的其他事物的危害;1024位的密钥几乎是安全的。RSA在一些主要产品内部都有嵌入,像 Windows、网景 Navigator、 Quicken和 Lotus Not

忙碌的菠萝 2万+

Zephyr,设备树概述

Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。

汽车电子软件领域知识分享 724

海康机器人ID5000 系列智能读码器(三)

又過了兩個月,漸漸的對這個攝像頭的功能更加熟悉了,而實際上,我要做的功能也越來越複雜,從一開始的讀碼,到後來的通過讀二維碼控制設備,再到未讀到二維碼控制設備等,下面就對具體的細項做一個總結。了解完這些就能對ID5000這個設備,乃至很多海康的設備都能做一個二次開發。

qq_54359036的博客 3074

js rsa验签_基于jsrsasign的vue框架rsa前端加密实现

一个菜鸟做给自己看的学习记录//安装npm install jsrsasign//引入import jsrsasign from 'jsrsasign'//公共方法挂载Vue.prototype.$getCode = function(){//此处操作与后端约定参数// 创建RSAKey对象var rsa = new jsrsasign.RSAKey();//因为后端提供的是pck#8的密钥对,所...

weixin_42134537的博客 1714

Halcon 简单的形状匹配定位与区域跟随

【代码】Halcon简单的形状匹配定位与区域跟随。

唐大狗 2806

vue 前端数据进行 RSA 加密、解密、签名、验签

jsrsasign

Lyndon的专栏 4757

Windows下Codex CLI binary报错排查与修复完整指南

在Windows开发环境中,命令行工具与图形界面应用的协同工作常常依赖于系统环境变量的正确配置。Codex CLI作为一款基于Node.js的智能编程命令行工具,其可执行文件(binary)的定位机制直接关系到桌面应用的正常启动。当用户执行npm更新或切换Node版本后,Codex CLI二进制文件路径可能发生漂移,从而触发“Unable to locate the Codex CLI binary”的报错。此类问题并非代码或账号异常,而是PATH路径、环境变量刷新及桌面应用缓存共同作用的结果。本文面向Wi

weixin_28718769的博客 305

第51节:cesium 范围查询(含源码+视频)

cesium 范围查询

qq_29384639的博客 1498

RSA加密解密(Java)

rsa加密工具类,java

zhenlanxiao20的博客 3759

【入门AUTOSAR网络管理测试】CANoe测试T_WakeUp时间

随着智能电动汽车行业的快速发展,目前AUTOSAR网络管理也得到了广泛应用,AUTOSAR网络管理测试也是汽车网络测试中非常重要的环节,NM问题导致的汽车ECU不能唤醒、电瓶亏电等问题,对于新入门AUTOSAR网络管理测试的同学不清楚如何开展测试,那么本章节就主要给大家介绍网络管理中T_WakeUp时间如何测试。【入门AUTOSAR网络管理测试】AUTOSAR网络管理规范需求解读。

测试领域技术分享 2138

vue中使用RSA加密,解密,加签,解签

vue中使用RSA加密,解密,加签,验签安装引js加密解密加签,验签测试 安装 一个是进行加密,解密的: npm install jsencrypt --save 如果加密过长使用 npm i encryptlong --save 一个是进行签名验证的: npm install jsrsasign --save 引js /* 产引入jsencrypt实现数据RSA加密 / import JSEncrypt from ‘jsencrypt’ // 处理长文本数据时报错 jsencrypt.js Message

weixin_45281571的博客 6184

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

RSA加密解密与签名验签实战:从原理到跨语言应用避坑指南

非对称加密是现代信息安全体系的基石,它通过公钥和私钥的配对,解决了密钥分发和身份验证的核心难题。其数学原理基于大数分解等计算难题,确保了单向安全性。在工程实践中,RSA作为经典的非对称算法,不仅用于保障数据传输的机密性,更通过数字签名实现了信息的完整性和不可否认性,是构建HTTPS、API鉴权、数字证书等场景的关键技术。本文聚焦于RSA的实战应用,深入剖析加密、解密、加签、验签四大核心操作,并针对跨语言协同(如Vue3与Java)中常见的‘RSA public key not find’、‘BadPaddi

weixin_30340819的博客 357

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vue3+nodejs基于RSA加密的身份认证(token的组成及使用)

vue3+nodejs基于RSA加密的身份认证 nodejs学习 1、express & nodejs & mysql 新建项目 2、nodejs尝试登陆接口 3、nodejs的前端项目搭建以及登陆接口开发 4、前端上传图片formdata格式,后端接口处理 5、vue+nodejs双表联动 6、nodejs插件knex & 日志打印 7、vue3+nodejs基于RSA加密的身份认证 前端代码地址(不完全功能) 后端代码地址(不完全功能) 一、NodeJs中 1、Toke

qq_40934617的博客 2303

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

spring boot + vue 实现 rsa 非对称加密

这里写目录标题1. 背景2.加密分类3. spring boot 实现 rsa 加密算法3.1 rsa 工具类三级目录`` 1. 背景 在我们平时项目开发过程中经常会遇到各种各样的安全问题,为了防止我们的业务数据不被泄露,提高我们系统的安全性,在数据传输的时候我们对传输的数据加密。 2.加密分类 我们平时接触到的加密算法有很多种,如:md5,base64 等。它们可以分为:对称加密,非对称加密和hash加密。 对称加密 指加密和解密使用相同密钥的加密算法。对称加密算法的优点在于加解密的高速度和使用长密钥时

qq_21134059的博客 2341

RSA加密从原理到实践:Java后端与Vue前端全栈案例解析

加密技术主要分为对称加密和非对称加密两大体系。对称加密如 AES、DES 等算法,加密和解密使用相同密钥,其优势是加密速度快,适合处理大量数据,但密钥管理存在难题,在不安全环境中分发密钥时,一旦泄露,数据安全将受严重威胁。例如,在企业内部通信中,若使用对称加密,需通过安全渠道(如专人送达、加密邮件等)将密钥传递给接收方,这增加了管理复杂性和安全风险。

小相探索IT世界 1308

Vue-常用加密(MD5,DES,SHA256,BASE64,SHA1,RSA)

Vue-加密 不可逆加密 第一步安装 npm i -s sha1 js-sha256 js-base64 crypto --save 第二部创建加密工具类crypto.js //保存为crypto.js import crypto from 'crypto' import jsSha from 'js-sha256' import base64 from 'js-base64' import sha1 from 'sha1' //md5 export const mdCrtpto = (pwd)

weixin_45203607的博客 3127

vue.js中DES、RSA、SHA1、MD5这四种加密算法的使用

美国 数据加密标准(DES)是对称密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。密钥较短,加密处理简单,加解密速度快,适用于加密大量数据的场合。前端有时把数据传给后端,也是需要加密的,这里介绍下des加密:DES 加密算法为最为常见的分组加密算法。其主要思想在于数据位的置换与移位过程,通过16次的迭代加密与最终的逆置换得出最终的密文。DES 的解密方式只需按照加密的逆过程求解即可。

qq_37312180的博客 1519

java+vue+rsa前后端加密解密

java+vue+rsa前后端加密解密

qq_36050986的博客 835

几种前端加密解密的方法

以 Vue 作为例子 1.CryptoJS加密解密 首先引用CryptoJS的库 https://cdn.staticfile.org/crypto-js/3.1.9/crypto-js.min.js 加密: const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六进制数作为密钥 const iv = CryptoJS.en...

Webghost511的博客 4265

【Vue】使用CryptoJS进行加密解密

为了确保数据传输的安全性,防止别人的抓包和数据泄露,需要对敏感数据进行加密传输。使用CryptoJS实现对称加密解密

  ╭じò ぴé╮。Qi 1万+

springboot+vue接口加密:RSA+AES

发表于湖南。

竹林幽深 802

Spring Cloud Gateway 数字签名、URL动态加密这样设计真优雅

A将数据发送到B之后,由于数据使用的是B的公钥加密,B可以用私钥解密之后,得到A发送消息的原本内容,然后,B可以使用A的公钥对额外的数字签名进行校验,因为它假设这个数据是A发送的,那么用A的公钥就应该可以解密成功,所以如果数据解密成功之后与A发送的原始消息经过一样的Hash运算之后相等,那么说明没有被篡改,而如果不一致,那么就说明被篡改了。因为第三方是不知道A的私钥信息的,所以他是用自己的私钥去加密,得到的hash会与A进行hash之后的值不同,从而判断数据被篡改了。服务器用自己的私钥解密得到对称密钥。

m0_73735578的博客 1276
上一篇: 左右结构网站,菜单栏高度根据右边 div 高度变动
火熾雲
博客等级 码龄7年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值