Generally this exception happen while having some encrypted character which where used for URL parameter encryption.
Exception in thread "main" javax.crypto.IllegalBlockSizeException: Input length must be multiple of 16 when decrypting with padded cipher at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:936) at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847) at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446) at javax.crypto.Cipher.doFinal(Cipher.java:2165) at security.EncryptionDecryptionURLParam.main(EncryptionDecryptionURLParam.java:51)
Solution :
Use below line of statements. Follow example below for more detail.
Not Use :
byte[] decryptedPassword = cipher.doFinal(decodeStr.getBytes());
Use:
byte[] base64decodedTokenArr = Base64.decodeBase64(decodeStr.getBytes()); byte[] decryptedPassword = cipher.doFinal(base64decodedTokenArr);
Example :
Issues Solution
For more other JAVA/JDBC issues solution follow link JAVA/JDBC Issues.
You must log in to post a comment.