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.调试
公钥加密后的字符串
正确姿势解密后...