java 压缩加密 github_关于Java:使用github中的AES-256-CBC加密
本問題已經(jīng)有最佳答案,請猛點這里訪問。
我想使用這些課程
https://github.com/fukata/AES-256-CBC-示例
在我的項目中,但是即使我不進行任何更改而對其進行編譯,也會導(dǎo)致錯誤:
Exception in thread"main" java.lang.RuntimeException:
java.security.InvalidKeyException: Illegal key size at
AESUtil.encrypt(AESUtil.java:23) at AESMain.main(AESMain.java:10)
Caused by: java.security.InvalidKeyException: Illegal key size at
javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1039) at
javax.crypto.Cipher.implInit(Cipher.java:805) at
javax.crypto.Cipher.chooseProvider(Cipher.java:864) at
javax.crypto.Cipher.init(Cipher.java:1396) at
javax.crypto.Cipher.init(Cipher.java:1327) at
AESUtil.encrypt(AESUtil.java:20) ... 1 more
如何解決非法密鑰大小?
我下載了它并將Java文件夾復(fù)制到我的項目中。 任何幫助,將不勝感激 :)
本質(zhì)上,密鑰長度為128位的AES加密與256位一樣安全,不能強行使用。
@zaph是的,但是我想將AES-256與32byte IV一起使用,現(xiàn)在上面的類拋出錯誤:java.security.InvalidAlgorithmParameterException: Wrong IV length: must be 16 bytes long因為我使用了32byte IV
32字節(jié)的IV毫無意義,CBC模式下的AES需要16字節(jié)的IV。
@ J.Kennsy AES支持三種密鑰長度:128、192和256位,以及一種IV長度,與塊大小相同:128位(16字節(jié))。
我相信您將需要安裝Java密碼學(xué)無限強度擴展:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
好吧,指示說我應(yīng)該將兩個罐子都粘貼到/ lib / security文件夾中,但是我的那兒不存在(我有jdk,但是我猜沒有改變)。
@ J.Kennsy對于JDK,jre目錄位于jdk目錄下,因此其jdk [version] / jre / lib / security。 請注意,您未確定的Java版本的無限制策略有所不同; 對于8個,請使用oracle.com/technetwork/java/javase/downloads/;對于9個,最后則不需要。
總結(jié)
以上是生活随笔為你收集整理的java 压缩加密 github_关于Java:使用github中的AES-256-CBC加密的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android打印参数类型,__andr
- 下一篇: java 命令行参数 _java命令行参