为了账号安全,请及时绑定邮箱和手机立即绑定

jsencrypt 长字符串分段解密有人知道吗?

jsencrypt 长字符串分段解密有人知道吗?

绝地无双 2019-03-12 13:15:37
使用jsencrypt 解密字符串过长后解密内容为Null 求解怎么办??地址jsencrypt :https://github.com/travist/js...网站找了一些但是都不能用 很多都是不全的 求解这个问题怎么解决啊?import JSEncrypt from 'jsencrypt';var RSA = new JSEncrypt();    /*       解密数据       * content 内容(String)       * mode 方法(String)       * */    static decrypt(content,mode='RSA'){        if(!content){            console.log("输入内容为空");            return "";        }        let res;        let key;        switch(mode){            case 'RSA':                //开发测试解密                key = "XXX"                console.log('要解密的内容',content);                RSA.setPrivateKey(key);                res = RSA.decrypt(content);                console.log("解密后的数据res",res);//这里打印出来是null 因为太长了                break;        }        return res;    }
查看完整描述

4 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

我也正在用这个库,前几天试过,将一大段JSON字符串,按117个字符分组,然后 单组用RSA加密,即用public key加密,对方只能用私钥解密,然后把分组加密的字符串,写到一个JSON里面,这样能动作成功,对方也能解密成功,但是比较慢,明显地要等一段时间,

所有,比较好的解决办法是,只涉及到敏感的字段用RSA加密,其它的不加密,
最后的总字符串用sha256来取得一个摘要,最后只把摘要做RSA加密,把原文,经RSA加密后的摘要发送给对方,

对方收到后,用私钥解开摘要,并且重新对原字符做一次摘要,比对两次摘要是否相等,就可以,这个也是支付宝支付使用的办法。


查看完整回答
反对 回复 2019-04-04
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

你应该用代码把问题描述出来,这样才有人去回答的


查看完整回答
反对 回复 2019-04-04
?
呼如林

TA贡献1798条经验 获得超3个赞

不建议对很长的字符串进行这样的加密,速度堪忧的。


查看完整回答
反对 回复 2019-04-04
?
紫衣仙女

TA贡献1839条经验 获得超15个赞

不建议使用RSA加密大量数据 因为会有性能问题。但是我们后台已经做完了,所以不能更改了,一开始我们也是自己使用js写了一个分段加解密的,可以使用,但是遇到了一些问题,在加解密中如果分段的部分包括正文字符再次合并解密后会出现乱码。最终还是将解密部分放到原生了。


查看完整回答
反对 回复 2019-04-04
  • 4 回答
  • 0 关注
  • 795 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号