class="java"> 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没有效果。