鍍金池/ 問答/Java  Linux  HTML/ jsencrypt 長字符串分段解密有人了解嗎?

jsencrypt 長字符串分段解密有人了解嗎?

使用jsencrypt 解密字符串過長后解密內(nèi)容為Null 求解怎么辦??
地址jsencrypt :https://github.com/travist/js...
網(wǎng)站找了一些但是都不能用 很多都是不全的
求解這個問題怎么解決???

import JSEncrypt from 'jsencrypt';
var RSA = new JSEncrypt();
    /*
       解密數(shù)據(jù)
       * content 內(nèi)容(String)
       * mode 方法(String)
       * */
    static decrypt(content,mode='RSA'){
        if(!content){
            console.log("輸入內(nèi)容為空");
            return "";
        }
        let res;
        let key;
        switch(mode){
            case 'RSA':
                //開發(fā)測試解密
                key = "XXX"
                console.log('要解密的內(nèi)容',content);
                RSA.setPrivateKey(key);
                res = RSA.decrypt(content);
                console.log("解密后的數(shù)據(jù)res",res);//這里打印出來是null 因為太長了
                break;
        }
        return res;
    }
回答
編輯回答
不將就

不建議使用RSA加密大量數(shù)據(jù) 因為會有性能問題。但是我們后臺已經(jīng)做完了,所以不能更改了,一開始我們也是自己使用js寫了一個分段加解密的,可以使用,但是遇到了一些問題,在加解密中如果分段的部分包括正文字符再次合并解密后會出現(xiàn)亂碼。最終還是將解密部分放到原生了。

2017年5月6日 11:42
編輯回答
久舊酒

不建議對很長的字符串進行這樣的加密,速度堪憂的。

2018年1月7日 12:42
編輯回答
荒城

你應該用代碼把問題描述出來,這樣才有人去回答的

2018年9月6日 00:04
編輯回答
咕嚕嚕

我也正在用這個庫,前幾天試過,將一大段JSON字符串,按117個字符分組,然后 單組用RSA加密,即用public key加密,對方只能用私鑰解密,然后把分組加密的字符串,寫到一個JSON里面,這樣能動作成功,對方也能解密成功,但是比較慢,明顯地要等一段時間,

所有,比較好的解決辦法是,只涉及到敏感的字段用RSA加密,其它的不加密,
最后的總字符串用sha256來取得一個摘要,最后只把摘要做RSA加密,把原文,經(jīng)RSA加密后的摘要發(fā)送給對方,

對方收到后,用私鑰解開摘要,并且重新對原字符做一次摘要,比對兩次摘要是否相等,就可以,這個也是支付寶支付使用的辦法。

2018年6月6日 04:08