天天看点

java.security.InvalidKeyException: Parameters missing 问题解决

DES解密Parameters missing问题

java.security.InvalidKeyException: Parameters missing
	at com.sun.crypto.provider.CipherCore.init(CipherCore.java:460)
	at com.sun.crypto.provider.DESCipher.engineInit(DESCipher.java:186)
	at javax.crypto.Cipher.implInit(Cipher.java:797)
	at javax.crypto.Cipher.chooseProvider(Cipher.java:859)
	at javax.crypto.Cipher.init(Cipher.java:1229)
	at javax.crypto.Cipher.init(Cipher.java:1166)
	at com.first.start.common.util.crypt.DESUtil.decrypt(DESUtil.java:115)
	at com.first.start.common.util.crypt.TestCrypt.testDES(TestCrypt.java:70)
	at com.first.start.common.util.crypt.TestCrypt.main(TestCrypt.java:13)
           

在尝试几种 加密/解密算法-工作模式的时候突然间就报了个参数缺失。

问题解决

CBC的方式和ECB的方式在初始化key的时候参数多一个。开始写的字符串在其中感觉长得差不多,就没注意到方式变了,只改了一部分。所以就整好改造了一下写成常量了。

java.security.InvalidKeyException: Parameters missing 问题解决

其他相关异常说明

} catch (NoSuchAlgorithmException e) {
		throw new NoSuchAlgorithmException("无此加密算法,请检查环境");
	} catch (NoSuchPaddingException e) {
		throw new NoSuchPaddingException("明文数据未找到");
	} catch (InvalidKeyException e) {
		throw new InvalidKeyException("加密秘钥非法,请检查");
	} catch (IllegalBlockSizeException e) {
		throw new IllegalBlockSizeException("明文长度非法");
	} catch (BadPaddingException e) {
		throw new BadPaddingException("明文数据已损坏");
	} catch (Exception e) {
		e.printStackTrace();
		throw new Exception("其他错误:", e);
	}