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

全部
常見問題
產(chǎn)品動(dòng)態(tài)
精選推薦

AES加密報(bào)錯(cuò):Illegal key size or default parameters

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

控制臺(tái)報(bào)錯(cuò)如下:

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

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

新的密鑰: P_e-BhqDPP0yeMe8Ma43ZhhL6fqevuR8

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

之所以會(huì)出現(xiàn)上述的報(bào)錯(cuò)問題:是因?yàn)锳ES在進(jìn)行加密處理的時(shí)候并沒有經(jīng)果特殊的處理,但是在使用256位密鑰加解密的時(shí)候,如果不進(jìn)行特殊處理的話,往往會(huì)出現(xiàn)報(bào)“java.security.InvalidKeyException: Illegal key size or default parameters”的異常。

問題解決

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

ca88d202303101506066039.png


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

JDK8:

其對(duì)應(yīng)的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

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

JDK7:

其對(duì)應(yīng)的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

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

JDK6:

其對(duì)應(yīng)的JCE下載地址為:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

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

JDK5:

其對(duì)應(yīng)的JCE下載地址為:http://download.csdn.net/detail/scs2043/4237335

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

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

3557d202303101508121502.png

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







請(qǐng)登錄后查看

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

快捷回復(fù)
回復(fù)
回復(fù)
回復(fù)({{post_count}}) {{!is_user ? '我的回復(fù)' :'全部回復(fù)'}}
排序 默認(rèn)正序 回復(fù)倒序 點(diǎn)贊倒序

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

作者 管理員 企業(yè)

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

{{itemf.name}}

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

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復(fù) {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

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

快速安全登錄

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

微信登錄/注冊(cè)

切換手機(jī)號(hào)登錄

{{ bind_phone ? '綁定手機(jī)' : '手機(jī)登錄'}}

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

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

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