一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - 解決JAVA非對稱加密不同系統加密結果不一致的問題

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

2020-10-07 22:37烈軍 JAVA教程

這篇文章主要介紹了解決JAVA非對稱加密不同系統加密結果不一致的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

原來的加密的部分代碼

?
1
2
3
4
5
6
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);

修改后的加密的部分代碼

?
1
2
3
4
5
6
7
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非對稱加密不同系統加密結果不一致的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:https://blog.csdn.net/y4356/article/details/79658131

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费看又黄又爽又猛的视频软件- | 啪哆哆 | 精品九九视频 | 1024国产看片在线观看 | 色老板免费| 无码AV免费精品一区二区三区 | 成人免费视频大全 | 日韩精品免费一区二区 | 日本在线播放视频 | 农村美女沟厕嘘嘘被偷看 | 韩国久久精品 | 肉文np高h | 美女口述又粗又大感觉 | 日韩中文在线 | 国内久久精品 | 国色天香社区在线视频免费观看 | 国产精品久久国产三级国电话系列 | 香蕉免费一区二区三区 | 小sao货ji巴cao死你视频 | 秋霞午夜伦午夜高清福利片 | 大香人蕉免费视频75 | 青草社区视频 | 国产亚洲精品网站 | 亚洲剧情在线 | 日韩免费一级片 | 色综合久久中文字幕网 | 精品一区二区三区视频日产 | 99re热这里只有精品 | 九九九精品视频 | 国产成人v爽在线免播放观看 | 免费看片黄色 | 国产精品 视频一区 二区三区 | 东京干福利 | 亚洲精品视频网 | 二次元美女互摸隐私互扒 | 日产2021免费一二三四区 | 欧美日韩成人在线视频 | 九九精品成人免费国产片 | 激情视频在线播放 | 国产在线98福利播放视频免费 | 波多野结衣在线中文 |