RSA公钥加密在小程序中的小问题
简介: RSA加密算法是一种非对称加密算法.
1. RSA加密/解密规则:
- 使用公钥加密的数据,利用私钥进行解密
- 使用私钥加密的数据,利用公钥进行解密
2.RSA加密的优缺点:
优点:打破了以往的加密规则,在RSA出现之前,所有的加密都是使用同一种方式.在传递加密信息时,必须让接收方拿到解密的规则才能解密.由于加密解密的规则一致,所以保存和传递"密钥",就会产生弊端。
缺点:由于RSA算法的原理都是大数计算,相对于对称加密算法慢上好几倍。速度一直是RSA的缺陷,一般来说RSA只用于小数据的加密.RSA的速度是对应同样安全级别的对称加密算法的1/1000左右。
项目案例一(html):
1.首先我们需要通过node(npm i jsencrypt -s)下载jsencrypt.js文件或者使用cdn(https://cdn.bootcss.com/jsencrypt/3.0.0-beta.1/jsencrypt.js) [注意不是min压缩版]
( import JSEncrypt from “JSEncrypt”)
2.在html页面中使用:
<!--引用cdn地址或者本地的jsencrypt.js-->
<script src="https://cdn.bootcss.com/jsencrypt/3.0.0-beta.1/jsencrypt.js"></script>
<script type="text/javascript">
//公钥(在liunx环境中可使用openssl命令...)
let PUBLIC_KEY = '';