Encripción

21/04/2006 - 00:20 por Javier Càceres | Informe spam
Hola

Tengo un XML encriptado y al desencriptarlo me sale el error:
PKCS7 padding is invalid and cannot be removed
He buscado en Internet y entre las posibles causas encontre vector o llave
equivocada, pero me he asegurado que no es eso; el fragmento de código que
produce el error en el método de desencripción es esta última línea:

ICryptoTransform cto = saEnc.CreateDecryptor(
Encoding.Unicode.GetBytes(txtLlave),
Encoding.Unicode.GetBytes(txtVectorIni));
MemoryStream mso = new MemoryStream();
CryptoStream cso = new CryptoStream(mso,cto,CryptoStreamMode.Write);
cso.Write(ms.ToArray(),0,ms.ToArray().Length);
cso.FlushFinalBlock();

Lo curioso es que de tres veces funciona bien 2 y una no; ME HE CONVENCIDO
de probar todas las soluciones que hay en la web, pero nada (cambiando el
formato de codificación a UTF-8, cambiando el algoritmo, etc)

Alguna solución?

Gracias!
 

Leer las respuestas

#1 Javier Càceres
22/04/2006 - 02:06 | Informe spam
HOLA amigos

después de tratar y tartar con una y otra cosa, solucioné mi problema
eliminando el Padding manualmente de la cadena resultante

Saludos desde COlombia y espero que a alguien le sirva (y no se rompa el
coco)!
Javier

"Javier Càceres" wrote:

Hola

Tengo un XML encriptado y al desencriptarlo me sale el error:
PKCS7 padding is invalid and cannot be removed
He buscado en Internet y entre las posibles causas encontre vector o llave
equivocada, pero me he asegurado que no es eso; el fragmento de código que
produce el error en el método de desencripción es esta última línea:

ICryptoTransform cto = saEnc.CreateDecryptor(
Encoding.Unicode.GetBytes(txtLlave),
Encoding.Unicode.GetBytes(txtVectorIni));
MemoryStream mso = new MemoryStream();
CryptoStream cso = new CryptoStream(mso,cto,CryptoStreamMode.Write);
cso.Write(ms.ToArray(),0,ms.ToArray().Length);
cso.FlushFinalBlock();

Lo curioso es que de tres veces funciona bien 2 y una no; ME HE CONVENCIDO
de probar todas las soluciones que hay en la web, pero nada (cambiando el
formato de codificación a UTF-8, cambiando el algoritmo, etc)

Alguna solución?

Gracias!

Preguntas similares