java aes 256 java.security.InvalidKeyException:安装策略后密钥大小非法
问题内容:
我使用AES 256密钥加密字节时遇到问题。我已经安装了该策略。这是我所做的:
- 下载文件:http : //www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
- 我将文件local_policy和US_export_policy移至目录/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/security
- 我重新启动Mac
但是我仍然收到以下代码的错误消息:
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加密?
问题答案:
策略文件应解决此问题。检查路径环境变量,以确认您使用的是具有策略文件的相同jre。