我遇到了使用AES 256密钥加密字节的问题。 我已经安装了这个政策。这就是我所做的:
但是我仍然收到包含以下代码的错误消息:
KeyGenerator keyGenerator = KeyGenerator.getInstance("AES");
keyGenerator.init(256);
SecretKey secretKey = keyGenerator.generateKey();
Cipher decryption = Cipher.getInstance("AES/CBC/PKCS5PADDING");
decryption.init(Cipher.DECRYPT_MODE, secretKey,
new IvParameterSpec(secretKey.getEncoded())); // <-- Illegal key size
我的Java版本:
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)
我需要做什么,使用256 AES加密?
答案 0 :(得分:4)
政策文件应解决此问题。检查路径环境变量以确认您使用的是具有策略文件的相同jre。
答案 1 :(得分:3)
重要提示:您已了解自己的位置。例如:在我的计算中有C:\Java\jre7\lib\security
和C:\Java\jdk1.7.0_02\jre\lib\security
,但是eclipse显示jre是C:\Java\jre7\lib\security
,所以你必须将两个文件复制到这里。
答案 2 :(得分:1)
我做了什么
从此位置下载的策略文件
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
贴在位置
jre/lib/security/
它工作....