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

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
}

 

 

 

参考:百度百科

posted @ 2022-10-29 10:32  前端渣的日常记录  阅读(2674)  评论(0编辑  收藏  举报