思路:
后端获取 公钥和私钥 公钥发给我,我使用他的公钥 将需要加密的数据进行加密传过去 他用自己的私钥解密.
前端获取 公钥和私钥 公钥发给后端 他使用我的公钥 将需要加密的数据进行加密传给我 我用自己的私钥解密
安装
npm install miniprogram-sm-crypto --save
request.js
const baseUrl = '后端接口域名或ip/api';
const { sm2Encrypt, sm2Decrypt } = require('./secret');//引入加密模块
//secret 是否需要加密 在api.js中设置
function request(method, url, data, secret) {
return new Promise((resolve, reject) => {
let header = {
'content-type': 'application/x-www-form-urlencoded'
};
let data2 = data
//secret等于1 则进行加密
if (secret == 1) {
const encryptedData = sm2Encrypt(data);
// console.log('加密后的数据:', encryptedData);
data2 = {
publicKey: wx.getStorageSync('publicKey'),//携带的我的公钥
data: encryptedData,//需要传给后端的加密数据
dataType: 1,//告诉后端需要解密