色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

解決JAVA非對稱加密不同系統(tǒng)加密結果不一致的問題

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

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

經(jīng)過查詢網(wǎng)絡得知,這是由于填充的規(guī)則不同導致。

原來的加密的部分代碼

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的獲取存在差異導致不同系統(tǒng)下同一秘鑰,同一信息加密結果不一致

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

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

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

解決JAVA非對稱加密不同系統(tǒng)加密結果不一致的問題

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

解決JAVA非對稱加密不同系統(tǒng)加密結果不一致的問題

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

解決JAVA非對稱加密不同系統(tǒng)加密結果不一致的問題

解決JAVA非對稱加密不同系統(tǒng)加密結果不一致的問題

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

標簽: Java
相關文章:
主站蜘蛛池模板: 欧美美女视频网站 | 国产精品视频成人 | 欧美午夜免费观看福利片 | 久久怡红院亚欧成人影院 | 欧美高清在线视频一区二区 | 毛片手机在线 | 国产dvd毛片在线视频 | 日韩亚洲一区中文字幕在线 | 韩国一级淫片视频免费播放 | 国产精品第五页 | 九色愉拍自拍 | 亚洲精品久久99久久 | 国产免费人视频在线观看免费 | 久草免费在线 | 国产在线精品观看 | 亚洲视频男人的天堂 | 亚洲精品国产成人中文 | 久久久久久综合成人精品 | 中国美女一级看片 | 艳女伦交一级毛片 | 日韩视频观看 | 欧美日本俄罗斯一级毛片 | 国产亚洲福利精品一区二区 | 成人午夜性视频欧美成人 | 日韩一级片播放 | 九九精品视频一区二区三区 | 精品99视频| 2022国产精品手机在线观看 | 欧美日韩免费一区二区在线观看 | 日韩一级精品视频在线观看 | 三级中文字幕永久在线视频 | 亚洲成人h| 九九线精品视频 | 精品亚洲欧美高清不卡高清 | 97精品国产91久久久久久 | 久久久国产精品视频 | 欧美精品在线免费观看 | 性生大片一级毛片免费观看 | 国产伦精品一区二区三区精品 | 久久爱91 | 亚洲欧美一区二区三区在线 |