`

IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher

 
阅读更多

最近几天,公司内部管理系统报一个错误;前几天,还好好的啊!

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加密解密时,就报上面的错误!然后经过排查,发现把加过密的文件某一列多写了一个字符,就造成了!晕!!!

分享到:
评论

相关推荐

    Kotlin Base64编解码类

    Exception in thread "main" javax.crypto.IllegalBlockSizeException: Input length must be multiple of 8 when decrypting with padded cipher at java.base/...

    android DES加密解密 javax.crypto.IllegalBlockSizeException: last block incomplete in

    Java的`Cipher`类提供了一个`doFinal()`方法,用于处理最后一块可能不满8字节的数据。在加密前,可以使用`Cipher.PAD_PKCS5`或者`Cipher.PAD_ISO7816`进行填充,而在解密后,需要移除这些填充。 下面是一个简单的...

    AES加密时抛出java.security.InvalidKeyException: Illegal key size or default parameter

    同时,文中也提到了另一种常见的异常`javax.crypto.IllegalBlockSizeException: Input length not multiple of 16 bytes`,并提供了相应的解决方案,如数据填充和选择适当的加密模式等。遵循这些步骤,可以帮助...

    java加密解密算法类_Cipher

    使用Cipher操作时,需要注意常见的异常,如InvalidKeyException、NoSuchAlgorithmException、BadPaddingException和IllegalBlockSizeException等,这些异常通常提示了加密解密过程中可能出现的问题。 10. **性能...

    android使用AES加密和解密文件实例代码

    Cipher cipher = Cipher.getInstance("AES"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encryptedData = cipher.doFinal(data); ``` AES 解密 AES 解密也可以使用 Cipher 类实现。代码如下: ```java Cipher...

    文件加密解密算法(Java源码)

    Cipher cipher = Cipher.getInstance(Util.getAlgorithm()); // 用密钥初始化Cipher对象 cipher.init(Cipher.ENCRYPT_MODE, key, sr); // 执行加密操作 bytes = cipher.doFinal(bytes); // 返回字节数组 ...

    Java版MD5和RSA加解密算法完整实现

    Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); cipher.init(Cipher.ENCRYPT_MODE, publicKey); return cipher.doFinal(data); } public static byte[] decrypt(byte[] encryptedData, Private...

    AES加密解密JAVA实现

    8. **错误处理**:在编程过程中,务必处理可能出现的异常,如`NoSuchAlgorithmException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。 通过以上步骤,你可以在Java环境中实现...

    aes加密算法demo

    - **IllegalBlockSizeException**: 当数据块大小不合法时抛出此异常。 - **BadPaddingException**: 当填充检查失败时抛出此异常。 - **UnsupportedEncodingException**: 当请求的字符集编码不支持时抛出此异常。 ##...

    java AES软件

    7. **异常处理**: 示例代码中包含了多个`catch`块,用于捕获可能出现的加密异常,如`NoSuchPaddingException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。当这些异常发生时,...

    基于Java的实例源码-加密解密工具集 JCT v1.0源码包.zip

    public byte[] doFinal(byte[] input) throws BadPaddingException, IllegalBlockSizeException { // ... } } ``` 2. 密钥管理:JCT v1.0可能提供了密钥生成和存储的类。例如,密钥生成器: ```java public ...

    AES算法Java实现对文件加密

    例如,文件不存在、无法读写等情况下,你需要捕获`FileNotFoundException`,在加密或解密过程中可能出现的异常则需要捕获`InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。...

    DES加密解密工具类

    5. **异常处理**:在这些过程中,可能会遇到各种异常,如`NoSuchAlgorithmException`, `InvalidKeyException`, `IllegalBlockSizeException`, `BadPaddingException`等。因此,良好的错误处理是必不可少的。 6. **...

    DES加密解密java工具类

    DES加密解密java工具类 public static final String KEY_ALGORITHM = "DES"; public static final String CIPHER_... Cipher cipher = Cipher.getInstance(CIPHER_ALGORITHM, getDecryptProviderInstance());

    JAVA实现AES加密算法代码.doc

    在这个实现中,我们也使用了 try-catch 语句来捕捉可能出现的异常,例如 NoSuchAlgorithmException、NoSuchPaddingException、InvalidKeyException、UnsupportedEncodingException、IllegalBlockSizeException 和 ...

    java RSA加密 解密

    Java RSA 加密解密 Java RSA 加密解密是指使用 Java 语言实现 RSA 加密和解密算法。RSA 是一种非对称加密算法,由 Ron Rivest、Adi Shamir 和 Leonard Adleman 三人...* javax.crypto.IllegalBlockSizeException 异常

    android 指纹识别+最简单的代码实现

    } catch (BadPaddingException | IllegalBlockSizeException e) { e.printStackTrace(); } } @Override public void onAuthenticationFailed() { // 指纹识别失败 } } ``` 最后,启动指纹识别: ```java ...

    RC5-java:RC5 密码学

    2. **RC5 Parameters**:RC5算法的参数包括数据块大小(block size)、密钥大小(key size)和迭代次数(number of rounds)。这些参数可以自定义,使得RC5在不同应用场景下都能保持足够的安全性。 3. **Key ...

    java基于AES对称加密算法实现的加密与解密功能示例

    - 异常处理:加密和解密过程中可能会抛出多种异常,如InvalidKeyException、NoSuchPaddingException、NoSuchAlgorithmException、IllegalBlockSizeException、BadPaddingException等,因此需要合理地进行异常处理,...

Global site tag (gtag.js) - Google Analytics