1.前端加密
前端加密开源库 sm-crypto
1.1 传统web,下载 sm-crypto 进行打包为 dist/sm2.js
相关打包命令
npm install --save sm-crypto
npm install
npm run prepublish
在web页面引用打包后的文件
<script type="text/javascript" src="<%=path %>/resources/js/sm2.js"></script>
对数据加密
const cipherMode = 1 // 1 : C1C3C2,0 : C1C2C3,默认为1,加密后数据应该为04开头,如果缺少需要补齐
const publicKey="公钥";
const msgString="待加密数据";
let encryptData = sm2.doEncrypt(msgString, publicKey, cipherMode);
1.2 node项目 参考 sm-crypto
2.后端解密
String privateKey = "私钥";
String decryptData = SM2Util.decrypt(privateKey, "待解密数据");