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

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

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

红糖糍粑 2019-01-16 14:56:03
使用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 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

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

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

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

查看完整回答
反对 回复 2019-03-01
?
慕婉清6462132

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

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

查看完整回答
反对 回复 2019-03-01
?
四季花海

TA贡献1811条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-03-01
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

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

查看完整回答
反对 回复 2019-03-01
  • 4 回答
  • 0 关注
  • 1264 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信