宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產品動態(tài)
精選推薦

AES加密報錯:Illegal key size or default parameters

管理 管理 編輯 刪除
最近在使用AES方式進行加密,本來經果測試已經沒有問題,但是在更新了密鑰key之后,就出現(xiàn)了下列報錯。

控制臺報錯如下:

Exception in thread "main" java.lang.RuntimeException: Illegal key size or default parameters
	at com.cupdata.oam.cardapply.kit.AesKit.decrypt(AesKit.java:98)
	at com.cupdata.oam.cardapply.kit.AesKit.decrypt(AesKit.java:86)
	at com.cupdata.oam.cardapply.kit.AesKit.decryptToStr(AesKit.java:56)
	at com.cupdata.oam.cardapply.kit.AesKit.main(AesKit.java:194)
Caused by: java.security.InvalidKeyException: Illegal key size or default parameters
	at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
	at javax.crypto.Cipher.implInit(Cipher.java:801)
	at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
	at javax.crypto.Cipher.init(Cipher.java:1249)
	at javax.crypto.Cipher.init(Cipher.java:1186)
	at com.cupdata.oam.cardapply.kit.AesKit.decrypt(AesKit.java:94)
	... 3 more

網上搜索發(fā)現(xiàn),由于key的變更(由原來的128位變更為256位),導致加密/解密的失敗。
原來的密鑰:
lNQqkL1BfSwt2MKw

新的密鑰: P_e-BhqDPP0yeMe8Ma43ZhhL6fqevuR8

之所以會出現(xiàn)這種問題,我們就要了解一個新的東西——JCE。在Java的核心類庫中有一個JCE(Java Cryptography Extension),JCE是一組包,它們提供用于加密、密鑰生成和協(xié)商以及 Message Authentication Code(MAC)算法的框架和實現(xiàn),所以這個是實現(xiàn)加密解密的重要類庫。

之所以會出現(xiàn)上述的報錯問題:是因為AES在進行加密處理的時候并沒有經果特殊的處理,但是在使用256位密鑰加解密的時候,如果不進行特殊處理的話,往往會出現(xiàn)報“java.security.InvalidKeyException: Illegal key size or default parameters”的異常。

問題解決

通過上面描述,我們知道了問題的所在,下面開始解決。我們要做的就是更換JCE的庫,該文件位置在你的JDK/jre/lib/security 目錄下面,該目錄下我們可以看到兩個jar包:local_policy.jar,US_export_policy.jar,這兩個jar包是jdk自帶的。我們需要下載支持256位密鑰加密的jar包。

ca88d202303101506066039.png


備注:一定要下載與自己JDK版本一致的JCE,否則無效。

JDK8:

其對應的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

下載完后,解壓,將其中的“l(fā)ocal_policy.jar ”和“US_export_policy.jar”兩個文件替換掉自己%JAVE_HOME%\jre\lib\security文件夾下對應的原文件(%JAVE_HOME%是自己電腦的Java路徑)。

JDK7:

其對應的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

下載完后,解壓,將其中的“l(fā)ocal_policy.jar ”和“US_export_policy.jar”兩個文件替換掉自己%JAVE_HOME%\jre\lib\security文件夾下對應的原文件(%JAVE_HOME%是自己電腦的Java路徑)。

JDK6:

其對應的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

下載完后,解壓,將其中的“l(fā)ocal_policy.jar ”和“US_export_policy.jar”兩個文件替換掉自己%JAVE_HOME%\jre\lib\security文件夾下對應的原文件(%JAVE_HOME%是自己電腦的Java路徑)。

JDK5:

其對應的JCE下載地址為:http://download.csdn.net/detail/scs2043/4237335

下載完后,解壓,將其中的“l(fā)ocal_policy.jar ”和“US_export_policy.jar”兩個文件替換掉自己%JAVE_HOME%\jre\lib\security文件夾下對應的原文件(%JAVE_HOME%是自己電腦的Java路徑)。

擴展:
真實項目開發(fā)肯定在Linux中,前面我們知道Windos下更換JCE的方法,那么的Linux中怎么更換?如果你以為一樣去替換jar包,那就大錯特錯了,因為JDK1.8以上的該目錄下壓根沒有這兩個JAR包。(如果真有,就直接替換)

3557d202303101508121502.png

針對這種情況,我們的解決方式為:vim 命令打開java.security文件,將注釋掉的 #crypto.policy=unlimited 打開,然后保存即可







請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2023-03-10 15:09:00

快捷回復
回復
回復
回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
排序 默認正序 回復倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復' : '回復'}}
刪除
回復
回復

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復' : '回復'}}
刪除
回復
回復
查看更多
打賞
已打賞¥{{reward_price}}
4767
{{like_count}}
{{collect_count}}
添加回復 ({{post_count}})

相關推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復
回復
問題:
問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內的數(shù)值
打賞成功
¥{{price}}
完成 確認打賞

微信登錄/注冊

切換手機號登錄

{{ bind_phone ? '綁定手機' : '手機登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服