国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩福利电影 | 午夜精品一区二区三区免费视频 | 中文字幕不卡 | 91精品国产综合久久久久久丝袜 | 五月天色婷婷视频 | 久久一区| 精品国产一区二区三区日日嗨 | 欧美激情一区二区三区 | 伊人av成人| 视频一区在线播放 | 欧美成人高清 | 亚洲视频二区 | 久久h | 欧美 亚洲 一区 | 香蕉久久av一区二区三区 | 免费一区在线观看 | a级三四级黄大片 | 久久99精品一区二区三区 | 91精品免费 | 嫩草精品| 超碰人人爱人人 | 亚洲视频 欧美视频 | 久久99深爱久久99精品 | 美日韩一区 | 亚洲片国产一区一级在线观看 | 毛片在线免费播放 | 精品一区二区三区中文字幕老牛 | 日日骚一区 | 嫩草网站在线观看 | 成人在线国产 | 91 在线观看 | 亚色在线| 亚洲欧美激情精品一区二区 | 成人综合视频在线 | 久久中文字幕一区 | 国产精品精| 亚洲 成人 av | 国产精品自产拍在线观看 | 18毛片| 中文字幕视频在线观看 | 欧美日韩精品一区二区在线观看 |