Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61) Caused by: javax.crypto.IllegalBlockSizeException: Input buffer not a multiple of BlockSize(16) at com.fmjce.crypto.fmsymmetry.PaddingNone.corePad(PaddingNone.java:18) at com.fmjce.crypto.fmsymmetry.BlockCipher.engineDoFinal(BlockCipher.java:540) at javax.crypto.Cipher.doFinal(Cipher.java:2164) at com.justsafe.tools.lora.SM4Encryptor.main(SM4Encryptor.java:24)
时间: 2024-04-28 14:21:41 浏览: 196
scrcpy投屏 AssertionError: java.lang.reflect.InvocationTargetExcep
5星 · 资源好评率100%
这个错误信息中包含了一些关于错误的提示:
1. 错误类型:这个错误是 `java.lang.reflect.InvocationTargetException` 类型的。
2. 错误发生位置:错误发生在 `SM4Encryptor` 类的 `main` 方法中。
3. 错误的原因:`javax.crypto.IllegalBlockSizeException` 错误,原因是输入缓冲区不是块大小(16)的倍数。
根据错误信息,您需要检查加密算法的输入是否是块大小(16)的倍数。如果不是,则需要对输入进行填充,以使其成为块大小的倍数。此外,您还可以检查加密算法的其他设置,例如密钥长度和加密模式等。
阅读全文