背景:
java代碼中生成公鑰、私鑰、簽名。使用私鑰對一待加密的數據進行加密,在這裡通過
RSAUtils.verify(encodedData, publicKey, sign);//驗證是正確的。
然後,通過POST請求將數據傳遞到java中的另一個方法(是為了模擬跨服務器傳遞數據),然後可以得到公鑰,簽名,以及加密好的數據。
在控制台可以看到數據相同的,但是驗證失敗,以及解密失敗。這是什麼原因造成的呢?
問題已經處理好了,關鍵原因還是byte[] 轉成string類型的時候,導致數據不一致,因為utf8一個字符是占三個字節的。