Java 使用github的AES-256-CBC加密

Java 使用github的AES-256-CBC加密,java,maven,github,encryption,Java,Maven,Github,Encryption,我想使用这些类 在我的项目中,但即使我编译它而不更改任何内容,也会导致错误: 线程“main”java.lang.RuntimeException中的异常: java.security.InvalidKeyException:在 位于AESMain.main(AESMain.java:10)的AESUtil.encrypt(AESUtil.java:23) 原因:java.security.InvalidKeyException:在 checkCryptoPerm(Cipher.java:103

我想使用这些类 在我的项目中,但即使我编译它而不更改任何内容,也会导致错误:

线程“main”java.lang.RuntimeException中的异常: java.security.InvalidKeyException:在 位于AESMain.main(AESMain.java:10)的AESUtil.encrypt(AESUtil.java:23) 原因:java.security.InvalidKeyException:在 checkCryptoPerm(Cipher.java:1039)位于 implInit(Cipher.java:805)位于 javax.crypto.Cipher.chooseProvider(Cipher.java:864)位于 javax.crypto.Cipher.init(Cipher.java:1396)位于 javax.crypto.Cipher.init(Cipher.java:1327)位于 加密(AESUtil.java:20)。。。还有一个

如何修复非法密钥大小?
我下载了它并将java文件夹复制到我的项目中。任何帮助都将不胜感激:)

我相信您需要安装Java Cryptography Unlimited Strength extensions:


好的,说明说我应该将两个JAR都粘贴到/lib/security文件夹,但我的JAR不存在(我有jdk,但我猜它不会改变任何东西)。@J.Kennsy对于jdk,jre目录在jdk目录下,所以它是jdk[version]/jre/lib/security。注意,对于您没有识别的Java版本,无限策略是不同的;对于8位使用——对于9位,最后不需要了。本质上,密钥长度为128位的AES加密与256位一样安全,两者都不能强制执行。@zaph True,但是我想将AES-256与32字节IV一起使用,现在上面的类抛出错误:
java.security.invalidalgorithParameterException:错误的IV长度:必须是16字节长
因为我使用了32字节IVA 32字节IV没有意义,CBC模式下的AES需要16字节IV。@J.kensy AES支持三个密钥长度:128,192&256位和一个IV长度,与块大小相同:128位(16字节)。