java前后台实现RSA加密、解密

后台加密使用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;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值