程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> rsa-RSA加密字節改變,String與byte轉出問題

rsa-RSA加密字節改變,String與byte轉出問題

編輯:編程綜合問答
RSA加密字節改變,String與byte轉出問題

代碼如下,byte[] bb = bbb.getBytes(); 這個地方,數組bb與mi內容不一致了,導致解密失敗 很多字節變為了63 請問怎麼解決這個問題?
try {
byte[] tb = ts.getBytes(); //將字符串變為字節數組
byte[] mi = null;
for(int i =0;i<tb.length;i+=64){ //因為不支持117字節以上加密,所以進行分段加密
byte[] doFinal=RSATools.encryptByPublicKey(ArrayUtils.subarray(tb,i,i+64),gy);
mi = ArrayUtils.addAll(mi, doFinal);
}
System.out.println("RSA加密後------------"+new String(mi));

        String aaa = encryptBASE64(mi);
        System.out.println("\n加密後----" + aaa);
        String bbb = new String(decryptBASE64(aaa));
        System.out.println("\n"+bbb);
        byte[] bb = bbb.getBytes();
        byte[] ming = null;
        for(int i=0;i<bb.length;i+=128){
            byte[] doFinal=RSATools.decryptByPrivateKey(ArrayUtils.subarray(bb, i, i+128), sy);
            ming = ArrayUtils.addAll(ming, doFinal);
        }


        System.out.println("解密後----" + new String(ming));
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

最佳回答:


字符串變成字符數組,是否為正確。你需要看看加密需要的數據,跟你輸入的字符串類型如何轉換

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved