Ver Mensaje Individual
  #71  
Antiguo 06-05-2010
dado dado is offline
Miembro
 
Registrado: may 2010
Posts: 76
Reputación: 14
dado Va por buen camino
Cita:
Empezado por JXJ Ver Mensaje
siguiendo con esto encontre que


Código:
Comprobante Fiscal Digital muestra:
 
 ( 903 kB) Formato XML
 
 Expresión Impresa
 
Ejemplo de Cadena Original:
 
 ||2.0|A|1|2009-09-02T16:30:00|1|2009|ingreso|Pago en una sola exhibicion|350.00|406.00|ISP900909Q88|Industrias del Sur Poniente, S.A. de C.V.|Alvaro Obregón|37|3|Col. Roma Norte|México|Cuauhtémoc|
Distrito Federal|México|06700|Pino Suarez|23|Centro|Monterrey|Monterrey|Nuevo Léon|México|95460|CAUR390312S87|Rosa María Calderón Uriegas|Topochico|52|Jardines del Valle|Monterrey|Monterrey|
Nuevo León|México|95465|10|Caja|Vasos decorados|20|200|1|pieza|Charola metálica|150|150|IVA|16.00|56.00|56.00||
 
Resultado de la digestión MD5 como HEX:
 
8aa2b617944427353697e694a2e35a07
que es eso de

Resultado de la digestión MD5 como HEX:

8aa2b617944427353697e694a2e35a07

¿como se obtiene.

ya intente pasar el ejemplo de la cadena original a md5?
y me sale


c3e1583ea29b67349fa2eb733279bb98

¿esta cadena md5 como se pasa a Hex?
La cadena YA ESTA en hex, Hex significa que se usan solo los numeros 0 al 9 y las letras A a la F.

Si no te sale el mismo digest que el de la muestra seguramente estas cometiendo el error mas comun . LA CADENA ORIGINAL NO DEBE TENER retornos de carros, doble espacios, tabuladores, fin de archivo (EOF) etc etc etc, todos esos son caracteres invisibles que echan a perder la cadena.

Utiliza lo siguiente para tu cadena ANTES de hacer el digest MD5


Código Delphi [-]
 
CadenaOriginal := AnsiReplaceStr(CadenaOriginal,#8,''); 
CadenaOriginal := AnsiReplaceStr(CadenaOriginal,#10,'');
CadenaOriginal := AnsiReplaceStr(CadenaOriginal,#13,'');
CadenaOriginal := AnsiReplaceStr(CadenaOriginal,' ',' ');

Otra recomendacion, las soluciones que he visto (OpenSSL, Chillkat) pueden hacer en un solo paso la digestion MD5 y el sellado
Responder Con Cita