Hola amigos, buenos días.
Bueno recurro a Uds. por un problemita que tengo utilizando la librería
bouncycastle (quizás algunos la conocen) para hacer cifrado y descifrado
utilizando específicamente el algoritmo 3DES (DESede).
Resulta que tengo una llave de tipo hexadecimal por ejemplo algo así como
esto: 
key = "A7333C29C27C0124235D156F32492324"

y una cadena también en hexadecimal pero que ya está cifrada con 3DES, por
ejemplo algo así como esto:

cadena_cifrada = "D8734116D013D1057310787020C2F222"

mi intención es descifrar esta cadena utilizando la librería antes
mencionada pero resulta que al enviar los valores a un método en donde tengo
como parámetros de entrada la llave y la cadena_cifrada pero convertidas en
un Array de bytes (byte[]), ejecuto el proceso y tengo el siguiente
resultado:

org.bouncycastle.crypto.InvalidCipherTextException : pad block corrupted
at org.bouncycastle.crypto.paddings.PKCS7Padding.padC ount(Unknown Source)
at org.bouncycastle.crypto.paddings.PaddedBufferedBlo
ckCipher.doFinal(Unknown Source)
at appayudas.EncriptionSource.Decrypt(Encripti onSource.java:41)
at appayudas.Main.main(Main.java:39)

 

y este es el método que utilizo escrito en java

 

public String Decrypt(byte[] key, byte[] cifrado) {

        BlockCipher engine = new DESedeEngine();

        BufferedBlockCipher cipher = new PaddedBufferedBlockCipher(new
CBCBlockCipher(engine));

        cipher.init(false, new KeyParameter(key));

        byte[] rv = new byte[cipher.getOutputSize(cifrado.length)];

        int oLen = cipher.processBytes(cifrado, 0, cifrado.length, rv, 0);

        try {

            cipher.doFinal(rv, oLen);

        } catch (Exception ce) {

            ce.printStackTrace();

        }

        return new String(rv).trim();

    }

 

Espero que alguno me pueda dar una luz.

 

Gracias de antemano.

 

Saludos.

 

Brando.

_______________________________________________
Lista de correo Linux-plug
Temática: Discusión general sobre Linux
Peruvian Linux User Group (http://www.linux.org.pe)

Participa suscribiéndote y escribiendo a:  [email protected]
Para darte de alta, de baja  o hacer ajustes a tu suscripción visita:
http://listas.linux.org.pe/mailman/listinfo/linux-plug

IMPORTANTE: Reglas y recomendaciones
http://www.linux.org.pe/listas/reglas.php
http://www.linux.org.pe/listas/comportamiento.php
http://www.linux.org.pe/listas/recomendaciones.php

Responder a