使用从GitHub
AES-256-CBC加密,我想在我的项目中使用这些类 https://github.com/fukata/AES-256-CBC-Example ,但即使我编译的w/o改变任何东西它会导致错误:使用从GitHub
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文件夹复制到我的项目中。任何帮助,将不胜感激:)
我相信你会需要安装Java加密强度无限扩展:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
好,说明书说我应该将两个罐子都粘贴到
@ J.Kennsy对于JDK而言,jre目录是位于jdk目录下的,因此它是jdk [version]/jre/lib/security。请注意,每个Java版本的无限制策略都是不同的,您无法识别;为8使用http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html - 和9,最后,它不是必需的。 –
本质AES加密,128位的密钥长度是256作为安全位,既不能被强行强制。 – zaph
@zaph真的,但我想用AES-256 32字节IV和现在上面的类抛出错误:'java.security.InvalidAlgorithmParameterException:错误IV长度:必须是16字节长因为我用32字节IV –
32-字节IV是没有意义的,CBC模式下的AES需要16字节的IV。 –