使用jsencrypt.js进行RSA加密

RSA 非对称加密算法

  • 加密和解密使用同样规则的为对称加密, 相比较非对称加密显得更安全
  • 非对称加密使用公钥对信息加密, 再通过私钥对公钥加密过的信息进行解密
  • 可以在不直接传递密钥的情况下,完成解密
  • 在线RSA工具: http://tools.jb51.net/password/rsa_encode,可获取公钥私钥,并在线加密解密

jsencrypt

一个基于RSA加解密的js库

使用方法

1. 安装

npm i jsencrypt

2.引用

import JSEncrypt from 'jsencrypt'

3.加密

使用公钥结合jsencrypt提供的encrypt方法(需要加密的内容)进行加密

var encryptor = new JSEncrypt()  // 创建加密对象实例
  //之前ssl生成的公钥,复制的时候要小心不要有空格
  var pubKey =  `公钥`
  encryptor.setPublicKey(pubKey)//设置公钥
  var rsaPassWord = encryptor.encrypt('需加密的内容....')  // 对内容进行加密

4.解密

使用私钥结合jsencrypt提供的decrypt方法进行解密

var decrypt = new JSEncrypt()//创建解密对象实例
  //之前ssl生成的秘钥
  var priKey  = `私钥`
  decrypt.setPrivateKey(priKey)//设置秘钥
  var uncrypted = decrypt.decrypt(rsaPassWord)//解密之前拿公钥加密的内容
  console.log('解密后:',uncrypted);

5.调试

公钥加密后的字符串

正确姿势解密后...

你可能感兴趣的:(使用jsencrypt.js进行RSA加密)