aes加密时的Illegal key size or default parameters

 KeyGenerator kgen = KeyGenerator.getInstance("AES");  
         kgen.init(256, new SecureRandom("test".getBytes("utf-8")));  
         SecretKey secretKey = kgen.generateKey();  
         byte[] enCodeFormat = secretKey.getEncoded();  
         SecretKeySpec key = new SecretKeySpec(enCodeFormat, "AES");  
         Cipher cipher = Cipher.getInstance("AES");// 创建密码器   
         byte[] byteContent = "content".getBytes("utf-8");  
         cipher.init(Cipher.ENCRYPT_MODE, key);// 初始化   
         byte[] result = cipher.doFinal(byteContent);  
		
         System.out.println(result.length);


这里kgen.init()只能设置128,设置大于这个数时就会报标题上的错误。

解决方法 http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

这里要把文件解压缩到jdk/jre/lib/security
之前解压到jre/lib/security没有效果。

你可能感兴趣的:(java,aes)