Can't decrypt after encrypting with blowfish Java

Posted by user2030599 on Stack Overflow See other posts from Stack Overflow or by user2030599
Published on 2013-11-09T16:20:54Z Indexed on 2013/11/10 3:53 UTC
Read the original article Hit count: 232

Filed under:
|

Hello i'm new to Java and i have the following problem: i'm trying to encrypt the password of a user using the blowfish algorithm, but when i try to decrypt it back to check the authentication it fails to decrypt it for some reason.

public static String encryptBlowFish(String to_encrypt, String salt){
    String dbpassword = null;
    try{
        SecretKeySpec skeySpec = new SecretKeySpec( salt.getBytes(), "Blowfish" );

        // Instantiate the cipher.
        Cipher cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, skeySpec);

        //byte[] encrypted = cipher.doFinal( URLEncoder.encode(data).getBytes() );
        byte[] encrypted = cipher.doFinal( to_encrypt.getBytes() );
        dbpassword = new String(encrypted);
    } catch (Exception e) {
        System.out.println("Exception while encrypting");
        e.printStackTrace();
         dbpassword = null;
    } finally {
        return  dbpassword;
    }
}

public static String decryptBlowFish(String to_decrypt, String salt){
    String dbpassword = null;
    try{
        SecretKeySpec skeySpec = new SecretKeySpec( salt.getBytes(), "Blowfish" );

        // Instantiate the cipher.
        Cipher cipher = Cipher.getInstance("Blowfish/CBC/PKCS5Padding");
        cipher.init(Cipher.DECRYPT_MODE, skeySpec);

        //byte[] encrypted = cipher.doFinal( URLEncoder.encode(data).getBytes() );
        byte[] encrypted = cipher.doFinal( to_decrypt.getBytes() );
        dbpassword = new String(encrypted);
    } catch (Exception e) {
        System.out.println("Exception while decrypting");
        e.printStackTrace();
        dbpassword = null;
    } finally {
        return  dbpassword;
    }
}

When i call the decrypt function it gives me the following error: java.security.InvalidKeyException: Parameters missing

Any ideas? Thank you

© Stack Overflow or respective owner

Related posts about java

Related posts about encryption