Java异常 | InvalidKeyException: Invalid AES key length: 12 bytes


1. 异常现象

使用AES进行加密时,报了一个异常:InvalidKeyException: Invalid AES key length: 12 bytes

java.security.InvalidKeyException: Invalid AES key length: 12 bytes
	at com.sun.crypto.provider.AESCipher.engineGetKeySize(AESCipher.java:509)
	at javax.crypto.Cipher.passCryptoPermCheck(Cipher.java:1067)
	at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1038)
	at javax.crypto.Cipher.implInit(Cipher.java:805)
	at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
	at javax.crypto.Cipher.init(Cipher.java:1396)
	at javax.crypto.Cipher.init(Cipher.java:1327)
	at com.wei.common.utils.AESUtil.aes(AESUtil.java:46)
	at com.wei.common.utils.AESUtil.encrypt(AESUtil.java:30)
	at com.wei.common.utils.AESUtil.main(AESUtil.java:19)

 

2. 排查分析

异常信息:无效的AES密钥长度:12字节

由于AES的秘钥规定是16位秘钥,这里写成了12位,所以异常了。

 

3. 解决方案

把自己定义的AES秘钥改成规定的16位长度即可。

你可能感兴趣的:(Java,Java异常,AES)