我在使用jsencrypt,来进行rsa加密时,发现,加密长文本的时候,会报错。提示文本太长了。
在网上找了一遍,发现大家都是用的encryptlong这个js库,来解决这个问题的。
于是我也引用了这个库,本想这样就能解决问题,没想到,当输入很长的中文文本后,加密解密还是会失败。
这样困扰了我很久,一度以为这个库有bug。但是我继续测试,发现 全是字母或者数字的长文本,加密解密是正常的。
我突发奇想,如果先将 中文转成base64字符,在进行rsa加密,是不是就可以了呢?
结果,验证了我的想法,这样确实可行!