首页 > 其他分享 >前端利用jsencrypt.js进行RSA加密、解密

前端利用jsencrypt.js进行RSA加密、解密

时间:2022-10-29 10:46:47浏览次数:91  
标签:加密 decrypt 解密 RSA 密钥 js jsencrypt 公开密钥

RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,“由已知加密密钥推导出解密密钥在计算上是不可行的”密码体制  。

在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息,而解密密钥(即秘密密钥)SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然解密密钥SK是由公开密钥PK决定的,但却不能根据PK计算出SK。

 

RSA允许你选择公钥的大小。512位的密钥被视为不安全的;768位的密钥不用担心受到除了国家安全管理(NSA)外的其他事物的危害;

 

jsencrypt介绍

jsencrypt就是一个基于rsa加解密的js库

// 安装
npm install jsencrypt

// 引入
import JSEncrypt from 'jsencrypt'

/* * 加密  * @param publicKey 公钥 * @param data 要加密的数据 */ encryptedData(publicKey, data) {   // 新建JSEncrypt对象   const encryptor = new JSEncrypt()   // 设置公钥   encryptor.setPublicKey(publicKey)   // 加密数据   return encryptor.encrypt(data) },
 

// 私钥
const privateKey = `xxxx`

// 解密
export function decrypt (msg) {
  let decrypt = new JSEncrypt()
  decrypt.setPrivateKey(privateKey)
  var decryptMsg = decrypt.decrypt(msg)
  return decryptMsg
}

 

 

 

参考:百度百科

标签:加密,decrypt,解密,RSA,密钥,js,jsencrypt,公开密钥
From: https://www.cnblogs.com/zhangxusong/p/16838201.html

相关文章

  • 从0快速部署云托管服务:node.js
    欢迎使用微信云托管,本文将带领你通过微信云托管创建一个服务,并在小程序和WEB端调用此服务(以Node.JS为例),本系列会继续更新Java、PHP、Golang等其他语言的部署教程(当然......
  • JS中搜索数组的四种方法
    前端经常要通过javaScript来处理数组中的数据,其中就包括检查数组中是否包含满足特定搜索条件的单个或者多个值,这就需要我们关于用于确认的布尔值、数组中值得位置索引或包含......
  • js promise概念
    Promise构造函数接受一个函数作为参数。该函数的两个参数分别是resolve和reject,它们是两个函数,由JavaScript引擎提供,不用自己部署。//代码resolve函数的作用:将Promi......
  • Node.js
    Node.js是一个基于ChromeV8引擎的JavaScript运行环境。一、初识Node.js环境的安装安装途径:官网:https://nodejs.org/en/LTS版本是长期稳定版,建议安装源码下......
  • 【JS】类继承
    类继承:    -可以实现一个类扩展另一个类    -使用extends关键字进行类继承      classChildextendsParent        ......
  • 今天,念念不忘一件事... ✅FastJson在调用JSON#toJSONString时,如何截取比较长的value串
    项目里前后端页面的http请求及dubbo服务间的RPC调用,返回值类型统一是一个Result<T>,其结构如下。@DatapublicclassResult<T>implementsSerializable{priv......
  • JavaScript--JSONP和Axios
    JSONP概述:JSONP(JSONwithpadding)是一种跨域解决方案,它主要是利用了script标签不受跨域影响的特性来完成对应的请求操作。实际上是一个get请求。JSONP格式包含两个部分:......
  • JS中数值类型的本质
    一、JS中的数值类型众所JS爱好友周知,JS中只有一个总的数值类型——number,它包含了整型、浮点型等数值类型。其中,浮点数的实现思想有点复杂,它把一个数拆成两部分来存储。第......
  • PYTHON JSON EXCEL
    #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#pipinstallpandas#pipinstallopenpyxl#importjsonimporttimeimportpandasimpor......
  • JS删除两个数组对象中id相同的对象
    letarr1=[{id:'1',name:'json'},{id:'2',name:'book'}]letarr2=[{id:'1',name:'json',age:'15'},{id:'2',name:'book',age:'16'},{id:'3',name:'......