当前位置: 首页 > 面试题库 >

java aes 256 java.security.InvalidKeyException:安装策略后密钥大小非法

郭元凯
2023-03-14
问题内容

我使用AES 256密钥加密字节时遇到问题。我已经安装了该策略。这是我所做的:

  1. 下载文件:http : //www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
  2. 我将文件local_policy和US_export_policy移至目录/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home/jre/lib/security
  3. 我重新启动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。



 类似资料:
  • 问题内容: 我的测试可以在开发的MacBook Pro上很好地运行,但是无法在持续集成的TeamCity服务器中运行。 错误如下: java.security.InvalidKeyException: Illegal key size at javax.crypto.Cipher.a(DashoA13..) at javax.crypto.Cipher.init(DashoA13 ..) at j

  • 也许你能帮我。非常感谢!

  • 我目前正在用java编写一个加密消息传递服务,我使用的是bouncycastle PGP库。我编写了一个生成密钥对的测试程序,并对消息进行加密/解密。这已经工作了一段时间,但它最近在解密阶段停止了,给了我一个InvalidKeyException。 我做了一些研究,下载了JCE.jar文件,并将它们导入到我的项目中(通过Eclipse Project->Properties->add extern

  • 问题内容: 我之前曾问过一个问题,但是没有得到正确的回答,也无济于事。 因此,我澄清了有关该问题的一些细节,我真的很想听听你关于如何解决此问题或应该尝试的想法。 我在Linux服务器上安装了Java 1.6.0.12,下面的代码运行得很完美。 今天,我在服务器用户上安装了Java 1.6.0.26,当我尝试运行应用程序时,出现以下异常。我的猜测是它与Java安装配置有关,因为它在第一个版本中有效,

  • 我正在尝试使用Nimbus JOSE+JWT从我的私钥解密JWE数据。 有人能帮我解决这个问题吗。我使用的是Java1.8 我的私钥 我的JWE数据