后台加密使用Hutool工具类提供的方法,具体参考地址:
https://doc.hutool.cn/pages/AsymmetricCrypto/#%E4%BB%8B%E7%BB%8D
前台:
//引入相应工具类,从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();//之前生成的秘钥(把自己生成的密钥钥粘到对应位置)debuggervar 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/PKCS1PaddingRSA 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;}