后台加密使用Hutool工具类提供的方法,具体参考地址:
https://doc.hutool.cn/pages/AsymmetricCrypto/#%E4%BB%8B%E7%BB%8D
前台:
引用工具类下载地址:https://github.com/travist/jsencrypt
//引入相应工具类,从GitHub下载的
deps: ['hrqc.base.comp.Jsencrypt'],
onReady(){
const me=this;
me.on("beforeSetFormData",function (body) {
let user=body.node_user;
let password=body.node_password;
let url=body.node_value;
const me=this;
//创建解密对象实例
var decrypt = new JSEncrypt();
//之前生成的秘钥(把自己生成的密钥钥粘到对应位置)
debugger
var privateKey =body.private_key.encoded;
//设置秘钥
decrypt.setPrivateKey(privateKey);
//解密之前拿公钥加密的内容
var uncrypUser = decrypt.decrypt(user);
body.node_user=uncrypUser;
});
},
});
后台:
//hutool工具类使用
public Map<String,Object> addRsa(CMappingOrg mappingOrg){
Map<String,Object> map=new HashMap<>();
//自动生成,,此算法用了默认补位方式为RSA/ECB/PKCS1Padding
RSA rsa=new RSA();
//通过公钥加密,前台私钥解密
map.put("node_value", rsa.encrypt(mappingOrg.getNode_value(), KeyType.PublicKey));
map.put("node_password",rsa.encrypt(mappingOrg.getNode_password(),KeyType.PublicKey));
map.put("node_user",rsa.encrypt(mappingOrg.getNode_user(),KeyType.PublicKey));
map.put("private_key",rsa.getPrivateKey());
return map;
}

1万+

被折叠的 条评论
为什么被折叠?



