亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

解決JAVA非對稱加密不同系統加密結果不一致的問題

瀏覽:4日期:2022-08-23 11:39:06

最近在做一個項目,需要用到非對稱加密,但是出現一個很詭異的情況,本地開發環境是Windows環境,測試環境是Linux環境,出現一個問題, 那就是本地環境與開發環境同一個私鑰字符串加密加密同一個信息,得到的加密結果不一樣。

經過查詢網絡得知,這是由于填充的規則不同導致。

原來的加密的部分代碼

byte[] keyBytes = Base64.decodeBase64(privateKey);PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);KeyFactory keyFactory = KeyFactory.getInstance('RSA');Key privateK = keyFactory.generatePrivate(pkcs8KeySpec) ; Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());cipher.init(Cipher.DECRYPT_MODE, privateK);

修改后的加密的部分代碼

byte[] keyBytes = Base64.decodeBase64(privateKey);PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);KeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);Key privateK = keyFactory.generatePrivate(pkcs8KeySpec);// Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());Cipher cipher = Cipher.getInstance('RSA/ECB/PKCS1Padding');cipher.init(Cipher.ENCRYPT_MODE, privateK);

因此差異部分就是Cipher cipher的獲取存在差異導致不同系統下同一秘鑰,同一信息加密結果不一致

補充知識:Java RSA3加密時因編碼不同導致結果不同

最近遇到一個問題,使用RSA3加密及驗證時候,因為我方與客戶方工程的編碼格式不同,導致我方使用私鑰加密后,客戶使用公鑰解密失敗。

最后問題定位到src.getBytes()代碼,因我方工程使用GBK編碼,src.getBytes()執行時獲取默認編碼為GBK(即src.getBytes('GBK')),而客戶方工程使用UTF-8編碼,解密執行src.getBytes()時獲取默認編碼為UTF-8(即src.getBytes('UTF-8'))。造成解密校驗失敗。

解決JAVA非對稱加密不同系統加密結果不一致的問題

解決方法:加密時設置UTF-8編碼格式—src.getBytes('UTF-8',如下:

解決JAVA非對稱加密不同系統加密結果不一致的問題

測試(file的默認編碼為GBK):

解決JAVA非對稱加密不同系統加密結果不一致的問題

解決JAVA非對稱加密不同系統加密結果不一致的問題

以上這篇解決JAVA非對稱加密不同系統加密結果不一致的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 999国内精品永久免费视频 | 免费的一极毛片在线播放 | 看真人一一级毛片 | 欧美日韩亚洲精品一区二区三区 | 一区视频在线 | 日本大学生免费一级一片 | 亚洲综合色视频 | 国产伦理播放一区二区 | 亚洲成人播放 | 国产精品a v 免费视频 | 国产精品一区二区久久 | 亚洲色图吧 | 国产亚洲一区二区在线观看 | 日韩综合一区 | 自拍 欧美 在线 综合 另类 | 在线观看二区三区午夜 | 香蕉福利久久福利久久香蕉 | 五月天婷婷视频 | 中文字幕国产在线观看 | 黄 在线播放 | 亚洲经典一区二区三区 | 亚洲国产精品专区 | 91网址在线观看 | 看黄视频免费 | 香港经典a毛片免费观看看 香港黄页亚洲一级 | 特级黄色片视频 | 激情五月婷婷基地 | 亚洲国产精品67194成人 | 免费在线影院 | 久草视频福利在线 | 日本一级级特黄特色大片 | 国产乱码精品一区二区三区卡 | 男女喷水视频 | 丝袜美腿视频一区二区三区 | 成人国产欧美精品一区二区 | 久久久免费观成人影院 | 日本一本高清v免费视频 | 久久在线免费观看视频 | 欧美日韩国产在线观看一区二区三区 | 国产va免费精品观看 | 亚洲日韩男人网在线 |