
DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.
CARTA PORTE V3.1
ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03
.
Como validar "a mano" un sello digital
- ramonzea
- Mensajes: 167
- Registrado: Mié Sep 15, 2010 12:23 am
Re: Como validar "a mano" un sello digital
para que puedas extraer la cadena original del XML solo tienes que anexar la segunda linea en en este:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="cadenaoriginal_2_0-1.xslt"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2"
luego lo visualizas en IE y te aparece la cadena original.
El archivo cadenaoriginal_2_0-1.xsl lo puedes bajar de la pagina del SAT.
Lo que no he podido hacer es cachar esa cadena en un archivo para usarla para determinado proceso.
Saludos.
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="cadenaoriginal_2_0-1.xslt"?>
<Comprobante xmlns="http://www.sat.gob.mx/cfd/2"
luego lo visualizas en IE y te aparece la cadena original.
El archivo cadenaoriginal_2_0-1.xsl lo puedes bajar de la pagina del SAT.
Lo que no he podido hacer es cachar esa cadena en un archivo para usarla para determinado proceso.
Saludos.
-
- Mensajes: 4
- Registrado: Lun Sep 20, 2010 5:07 pm
Re: Como validar "a mano" un sello digital
Saludos.
Gracias por tu respuesta, ya logré el "Verification Ok".
Mi problema estaba en mi archivo con la cadena original, no lo estaba generando en utf-8.
Mil gracias.
Gracias por tu respuesta, ya logré el "Verification Ok".
Mi problema estaba en mi archivo con la cadena original, no lo estaba generando en utf-8.
Mil gracias.
-
- Mensajes: 16
- Registrado: Sab Oct 09, 2010 3:19 pm
Re: Como validar "a mano" un sello digital
Hola a todos, estoy tratando de validar la cadena con digestion md5, tome un ejemplo que aparece arriba pero al hacer la digestion sale diferente el resultado, tome esta cadena de la pagina del sat:
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||
utf-8
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÃA CÃLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||
digestion md5
C:\Sistema\configcfd\OpenSSL dgst -md5 utf8.txt >md5.txt =
MD5(utf8.txt)= 0bf83f8e26c6406d0ba4ead67348d5d6
cuando la digestion que deberia dar es:
03abe73de4ca428816de4af6f6f737a7
Espero que alguien tenga la respuesta, Gracias.
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||
utf-8
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÃA CÃLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||
digestion md5
C:\Sistema\configcfd\OpenSSL dgst -md5 utf8.txt >md5.txt =
MD5(utf8.txt)= 0bf83f8e26c6406d0ba4ead67348d5d6
cuando la digestion que deberia dar es:
03abe73de4ca428816de4af6f6f737a7
Espero que alguien tenga la respuesta, Gracias.
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Como validar "a mano" un sello digital
Hola...
El paso a UTF-8 no debería cambiarte los caracteres acentuados. ¿Como lo estas haciendo?...
En mi equipo, para la primer cadena original que muestras:
El MD5 que me resulta es:
Para poder ayudarte, hay que probar con los mismos datos, publique un artículo paso a paso con datos de prueba, archivos necesarios y resultados esperados aquí: http://www.universolibre.org/node/13
Verifica si obtienes los mismos datos...
Saludos
El paso a UTF-8 no debería cambiarte los caracteres acentuados. ¿Como lo estas haciendo?...
En mi equipo, para la primer cadena original que muestras:
Código: Seleccionar todo
||2.0|ABCD|2|03-05-2010T14:11:36|49|2008|INGRESO|UNA SOLA EXHIBICIÓN|2000.00|00.00|2320.00|PAMC660606ER9|CONTRIBUYENTE PRUEBASEIS PATERNOSEIS MATERNOSEIS|PRUEBA SEIS|6|6|PUEBLA CENTRO|PUEBLA|PUEBLA|PUEBLA||MÉXICO|72000|CAUR390312S87|ROSA MARÍA CÁLDERON URIEGAS|TOPOCHICO|52|JARDINES DEL VALLE|NUEVO LEÓN|MEXICO|95465|1.00|SERVICIO|01|ASESORIA FISCAL Y ADMINISTRATIVA|2000.00|IVA|16.00|320.00||
Código: Seleccionar todo
1cc1daa2c8cd80c700648c4329950582
Verifica si obtienes los mismos datos...
Saludos
Todo lo que no es dado es perdido
-
- Mensajes: 425
- Registrado: Jue Ago 05, 2010 3:11 pm
Re: Como validar "a mano" un sello digital
El cambiar a UTF8 sí cambia los caracteres acentuados en una cadena. Para imprimir la cadena original en pantalla o en papel hay que convertirla a ASCII o similar, pero al almacenarla debe almacenarse como UTF8 y para obtener el digest también hay que hacerlo con la cadena en UTF8.
Saludos.
Saludos.
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Como validar "a mano" un sello digital
Hola...
Prueba en Python:
Saludos
Prueba en Python:
Código: Seleccionar todo
>>> cadena = 'áéíóúñÁÉÍÓÚÑ'
>>> print cadena
áéíóúñÁÉÍÓÚÑ
>>> u = unicode( cadena, "utf-8" )
>>> print u
áéíóúñÁÉÍÓÚÑ
>>>
Todo lo que no es dado es perdido
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Como validar "a mano" un sello digital
No conozco python pero algo esta mal en ese codigo, el UTF8 si deberia cambiar a caracteres raros las letras acentuadas.mauricio escribió:Hola...
Prueba en Python:SaludosCódigo: Seleccionar todo
>>> cadena = 'áéíóúñÁÉÍÓÚÑ' >>> print cadena áéíóúñÁÉÍÓÚÑ >>> u = unicode( cadena, "utf-8" ) >>> print u áéíóúñÁÉÍÓÚÑ >>>
Hay un convertidor en linea, puedes checarlo aqui y verificar que las letras y numeros no los convierte, pero las acentuadas y las eñes si.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
- Dado
- Mensajes: 15980
- Registrado: Mar Jul 06, 2010 7:56 pm
Re: Como validar "a mano" un sello digital
Sabes cual es el "problema" con el UTF8 y las aplicaciones?
La cosa esta en que muchas aplicaciones y rutinas de programacion son "compatibles con UTF8" y detectan automaticamente esos caracteres y HACEN LA CONVERSION de forma transparente, aveces tan silenciosamente que ni nos damos cuenta de lo que pasa "tras bambalinas".
Mira, aqui esta un ejemplo clarisimo, genere un archivo XML con caracteres UTF8 "raros" y si lo abro en el internet explorer o en el notepad aparece muy "bonito" :
PERO CHECA cuando lo abro con un visor HEXADECIMAL, que me muestra exactamente como esta grabado en disco :
Como puedes ver, en disco esta grabado "rarisimo", es decir, en formato UTF8, si puedes notar ademas, cada letra acentuada se lleva dos bytes, por ejemplo la é se graba como #c3 #a9
Anexo el archivo para que hagas tus propias pruebas, pero recuerda, si quieres ver "las tripas" de la conversion UTF8 debes usar un editor hexadecimal o un editor de disco o cualquier cosa que NO HAGA la conversion automatica.
La cosa esta en que muchas aplicaciones y rutinas de programacion son "compatibles con UTF8" y detectan automaticamente esos caracteres y HACEN LA CONVERSION de forma transparente, aveces tan silenciosamente que ni nos damos cuenta de lo que pasa "tras bambalinas".
Mira, aqui esta un ejemplo clarisimo, genere un archivo XML con caracteres UTF8 "raros" y si lo abro en el internet explorer o en el notepad aparece muy "bonito" :
PERO CHECA cuando lo abro con un visor HEXADECIMAL, que me muestra exactamente como esta grabado en disco :
Como puedes ver, en disco esta grabado "rarisimo", es decir, en formato UTF8, si puedes notar ademas, cada letra acentuada se lleva dos bytes, por ejemplo la é se graba como #c3 #a9
Anexo el archivo para que hagas tus propias pruebas, pero recuerda, si quieres ver "las tripas" de la conversion UTF8 debes usar un editor hexadecimal o un editor de disco o cualquier cosa que NO HAGA la conversion automatica.
- Adjuntos
-
- ejemploutf8.zip
- (285 Bytes) Descargado 824 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
-
- Mensajes: 372
- Registrado: Mié Ago 11, 2010 1:55 am
- Ubicación: México, D.F.
- Contactar:
Re: Como validar "a mano" un sello digital
Hola...
Si lo se, se que UTF-8 son meros bytes, de eso no hay discusión, el problema con el compañero, es que creo que lo esta haciendo mal. Precisamente porqué se que la muchos de los sistemas que usamos en español hacen uso correcto de UTF-8, "deberíamos ver bien su cadena, pero en fin, que cada quien haga sus validaciones... y sus deducciones...
Saludos
Si lo se, se que UTF-8 son meros bytes, de eso no hay discusión, el problema con el compañero, es que creo que lo esta haciendo mal. Precisamente porqué se que la muchos de los sistemas que usamos en español hacen uso correcto de UTF-8, "deberíamos ver bien su cadena, pero en fin, que cada quien haga sus validaciones... y sus deducciones...
Código: Seleccionar todo
>>> u'áéíóúÁÉÍÓÚÑñ'
u'\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda\xd1\xf1'
>>> unicode('áéíóúÁÉÍÓÚÑñ','utf-8')
u'\xe1\xe9\xed\xf3\xfa\xc1\xc9\xcd\xd3\xda\xd1\xf1'
Todo lo que no es dado es perdido
-
- Mensajes: 16
- Registrado: Sab Oct 09, 2010 3:19 pm
Re: Como validar "a mano" un sello digital
Hola mauricio me sirvio muy bien los datos que publicaste en tu articulo
http://www.universolibre.org/node/13
incluso ya hise pruebas con mis propias facturas y tube exito con el verificador del sat, es una manera totalmente diferente a como yo lo hacia, pero mas simple y ahora si funciono sin problemas, muchas gracias.
http://www.universolibre.org/node/13
incluso ya hise pruebas con mis propias facturas y tube exito con el verificador del sat, es una manera totalmente diferente a como yo lo hacia, pero mas simple y ahora si funciono sin problemas, muchas gracias.