uni-app之微信小程序开发(四)

1,025 阅读1分钟

接口管理

等找到合适的资料和方法后再编写。啦啦啦~~~

uni-app的RSA加密

导入jsencrypt.js文件

jsencrypt.js下载地址

封装加密解密方法

  • 引入jsencrypt
import JsEncrypt from "../js/jsencrypt";
  • 实例化一个JsEncrypt对象
let jse = new JsEncrypt();
  • 设置私钥
jse.setPrivateKey(`填入自己的私钥`);
  • 封装加密解密方法
// 加密
function encrypt(val) {
  return jse.encrypt(val);
}

// 解密
function decrypt(val) {
  return jse.decrypt(val);
}
  • 导出方法
export default {
  encrypt,
  decrypt,
};
  • 完整代码
import JsEncrypt from "../js/jsencrypt";

// 实例化一个JSEncrypt对象
let jse = new JsEncrypt();

// 设置私钥
jse.setPrivateKey(`填入自己的私钥`);

// 加密
function encrypt(val) {
  return jse.encrypt(val);
}

// 解密
function decrypt(val) {
  return jse.decrypt(val);
}

export default {
  encrypt,
  decrypt,
};

main.js挂载

在main.js中挂载该方法,可全局使用。

import jsEncrypt from "./common/utils/jsEncrypt";
// 引入加密方式
Vue.prototype.$jsEncrypt = jsEncrypt;

使用

在单独页面中使用

// 实际参数  json格式
let param = JSON.stringify({
  name: "张三",
  age: 24,
});

// 接口加密传参 
let enc_p = {
  json: param,
  sign: this.$jsEncrypt.encrypt(param),
};
console.log("[ enc_p ] >", enc_p);

// 解密加密后的字符串
let dec_p = this.$jsEncrypt.decrypt(enc_p.sign);
console.log("[ dec_p ] >",JSON.parse(dec_p));