一开始不知道怎么写,后来上网搜索了很多,最后找到了这个方法,自己记录一下,感谢大神的文档,同时自己也发布一下,为更多的人带来方便。
第一步,先修改jsencrypt.js文件,需要把window和navigator都替换为最新添加的window2和navigator2
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.JSEncrypt = {})));
}(this, (function (exports) { 'use strict';
//------- 添加---------
// 用来替换 navigator2
var navigator2 = {
appName: 'Netscape',
userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
};
// 用来替换window2
var window2 = {
ASN1: null,
Base64: null,
Hex: null,
crypto: null,
href: null
};
//--------- 完成--------
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
function int2char(n) {
return BI_RM.charAt(n);
}
————————————————
第二步,在需要使用的地方引入,记得要设置公钥,我再util中设置的,直接拿来使用
const util = require('../../../utils/util.js')
const Encrypt = require('../../../utils/jsencrypt.js')
let cryptFirst = new Encrypt.JSEncrypt()
cryptFirst.setPublicKey(util.rsa_public_key)
第三步,在需要加密的地方进行加密
let jsons = {
tel: account,
password: pass
}
let newJson = JSON.stringify(jsons)
let regkey = cryptFirst.encrypt(newJson)
来自原文链接