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:2047) at com.crypto.sm.App.testSm4ByEcb(App.java:32) at com.crypto.sm.App.main(App.java:16)
时间: 2024-04-27 08:21:31 浏览: 20
这是一个异常堆栈信息,看起来是在使用Java中的加密类库时出现了错误。具体来说,这里使用了SM4算法的ECB模式进行加密,但是输入的数据长度不是块大小(16)的整数倍,导致出现了IllegalBlockSizeException异常。需要检查输入数据的长度并进行填充,使其成为块大小的整数倍,才能正确进行加密。
相关问题
java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0
java.lang.reflect.InvocationTargetException是Java中的一个异常类,它通常在使用反射机制调用方法时抛出。该异常表示被调用方法内部发生了异常。
在Java中,反射机制允许我们在运行时动态地获取类的信息,并且可以通过反射调用类的方法。当我们使用反射调用方法时,如果被调用的方法内部发生了异常,就会抛出InvocationTargetException异常。
该异常是一个包装异常,它将原始异常包装在内部,并提供了一些额外的方法来获取原始异常的信息。通过调用InvocationTargetException的getCause()方法,可以获取到原始异常对象。
以下是相关问题:
1. 反射机制是什么?
2. Java中的异常处理机制是什么?
3. 如何使用反射调用方法?
4. InvocationTargetException异常还有哪些常见的使用场景?
java.lang.reflect.invocationtargetexception at sun.reflect.nativemethodaccessorimpl.invoke0(native method) at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:62) at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmet
这是一个Java异常,称为“反射调用目标异常”。它通常是由于在使用Java反射API时出现错误而引起的。在这个特定的异常中,Java虚拟机试图调用一个方法,但是由于某种原因,该方法无法被调用。这可能是由于许多原因引起的,例如方法参数不正确、方法不存在或访问权限不足等。