我使用了你的提供的示例代码,以下是返回的报错信息 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 15:21:35 浏览: 204
MyEclipse6.0下axis2插件的安装-java.lang.reflect.InvocationTargetException
4星 · 用户满意度95%
这个错误信息是关于加密算法的。从错误信息中可以看出,在使用 SM4Encryptor 进行加密时,输入的数据长度不是块大小的倍数,导致 IllegalBlockSizeException 异常。可以检查一下输入的数据长度是否是 SM4 加密算法的块大小的倍数,如果不是,可以进行填充,将其补足为块大小的倍数。
阅读全文