android端引用jsencrypt 实现密码加密失败
vue2版本
在小程序及app,因不存在window全局对象,报错无法使用
使用替代方案
下载文件,我放到了utils里
链接:https://pan.baidu.com/s/1YPYPf3n_Y9IpqpV29orWyg?pwd=grzu
提取码:grzu
加密解密方法
const JSEncrypt= require('@/utils/jsencrypt.min.js')
const publicKey = '....'
const priviteKey= '....'
// 加密
export function encrypt(txt) {
const encryptor = new JSEncrypt();
encryptor.setPublicKey(publicKey); // 设置公钥
return encryptor.encrypt(txt); // 对需要加密的数据进行加密
}
//解密
export function decrypt(txt) {
const encryptor = new JSEncrypt();
encryptor.setPrivateKey(priviteKey);
return encryptor.decrypt(txt);
}
在vue3中
vite 不支持 commonjs exprots 导出
尝试转换插件之类的解决办法无效
在替代文件中修改
! function(t, e) {
t.JSEncrypt = e()
}(modificationWindow, (function() {
//....
})
export default modificationWindow
在加解密方法中
import JSEncrypt from '@/utils/jsencrypt.min.js';
export function encrypt(txt) {
const encryptor = new JSEncrypt.JSEncrypt ();
encryptor.setPublicKey(publicKey); // 设置公钥
return encryptor.encrypt(txt); // 对需要加密的数据进行加密
}
//解密
export function decrypt(txt) {
const encryptor = new JSEncrypt.JSEncrypt ();
encryptor.setPrivateKey(priviteKey);
return encryptor.decrypt(txt);
}