最近几天,公司内部管理系统报一个错误;前几天,还好好的啊!
javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher
at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
at com.sun.crypto.provider.SunJCE_f.b(DashoA13*..)
at com.sun.crypto.provider.DESCipher.engineDoFinal(DashoA13*..)
at javax.crypto.Cipher.doFinal(DashoA13*..)
at com.tungkong.util.DESUtil.getDesCode(DESUtil.java:117)
at com.tungkong.util.DESUtil.getDesString(DESUtil.java:72)
at com.tungkong.util.MyConfigurer.processProperties(MyConfigurer.java:16)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
java.lang.NullPointerException
at java.lang.String.<init>(String.java:515)
at com.tungkong.util.DESUtil.getDesString(DESUtil.java:73)
at com.tungkong.util.MyConfigurer.processProperties(MyConfigurer.java:16)
at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:84)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我们在使用DES加密解密时,就报上面的错误!然后经过排查,发现把加过密的文件某一列多写了一个字符,就造成了!晕!!!
相关推荐
Exception in thread "main" javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher at java.base/...
Java的`Cipher`类提供了一个`doFinal()`方法,用于处理最后一块可能不满8字节的数据。在加密前,可以使用`Cipher.PAD_PKCS5`或者`Cipher.PAD_ISO7816`进行填充,而在解密后,需要移除这些填充。 下面是一个简单的...
同时,文中也提到了另一种常见的异常`javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes`,并提供了相应的解决方案,如数据填充和选择适当的加密模式等。遵循这些步骤,可以帮助...
使用Cipher操作时,需要注意常见的异常,如InvalidKeyException、NoSuchAlgorithmException、BadPaddingException和IllegalBlockSizeException等,这些异常通常提示了加密解密过程中可能出现的问题。 10. **性能...
Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encryptedData = cipher.doFinal(data); ``` AES 解密 AES 解密也可以使用 Cipher 类实现。代码如下: ```java Cipher...
Cipher cipher = Cipher.getInstance(Util.getAlgorithm()); // 用密钥初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, key, sr); // 执行加密操作 bytes = cipher.doFinal(bytes); // 返回字节数组 ...
Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.ENCRYPT_MODE, publicKey); return cipher.doFinal(data); } public static byte[] decrypt(byte[] encryptedData, Private...
8. **错误处理**:在编程过程中,务必处理可能出现的异常,如`NoSuchAlgorithmException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。 通过以上步骤,你可以在Java环境中实现...
- **IllegalBlockSizeException**: 当数据块大小不合法时抛出此异常。 - **BadPaddingException**: 当填充检查失败时抛出此异常。 - **UnsupportedEncodingException**: 当请求的字符集编码不支持时抛出此异常。 ##...
7. **异常处理**: 示例代码中包含了多个`catch`块,用于捕获可能出现的加密异常,如`NoSuchPaddingException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。当这些异常发生时,...
public byte[] doFinal(byte[] input) throws BadPaddingException, IllegalBlockSizeException { // ... } } ``` 2. 密钥管理:JCT v1.0可能提供了密钥生成和存储的类。例如,密钥生成器: ```java public ...
例如,文件不存在、无法读写等情况下,你需要捕获`FileNotFoundException`,在加密或解密过程中可能出现的异常则需要捕获`InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。...
5. **异常处理**:在这些过程中,可能会遇到各种异常,如`NoSuchAlgorithmException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。因此,良好的错误处理是必不可少的。 6. **...
DES加密解密java工具类 public static final String KEY_ALGORITHM = "DES"; public static final String CIPHER_... Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM, getDecryptProviderInstance());
在这个实现中,我们也使用了 try-catch 语句来捕捉可能出现的异常,例如 NoSuchAlgorithmException、NoSuchPaddingException、InvalidKeyException、UnsupportedEncodingException、IllegalBlockSizeException 和 ...
Java RSA 加密解密 Java RSA 加密解密是指使用 Java 语言实现 RSA 加密和解密算法。RSA 是一种非对称加密算法,由 Ron Rivest、Adi Shamir 和 Leonard Adleman 三人...* javax.crypto.IllegalBlockSizeException 异常
} catch (BadPaddingException | IllegalBlockSizeException e) { e.printStackTrace(); } } @Override public void onAuthenticationFailed() { // 指纹识别失败 } } ``` 最后,启动指纹识别: ```java ...
2. **RC5 Parameters**:RC5算法的参数包括数据块大小(block size)、密钥大小(key size)和迭代次数(number of rounds)。这些参数可以自定义,使得RC5在不同应用场景下都能保持足够的安全性。 3. **Key ...
- 异常处理:加密和解密过程中可能会抛出多种异常,如InvalidKeyException、NoSuchPaddingException、NoSuchAlgorithmException、IllegalBlockSizeException、BadPaddingException等,因此需要合理地进行异常处理,...