Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-12-2019
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Hola a todos, pues yo también os dejo el código de la función de crc8 en delphi. He intentendo hacerlo lo más parecido al jemplo de Java. Espero que os sirva. Un saludo y Feliz Navidad.
Código Delphi [-]
const
  CRC8_Table: array[0..255] of Byte = (
    $00, $07, $0E, $09, $1C, $1B, $12, $15,
    $38, $3F, $36, $31, $24, $23, $2A, $2D,
    $70, $77, $7E, $79, $6C, $6B, $62, $65,
    $48, $4F, $46, $41, $54, $53, $5A, $5D,
    $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5,
    $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD,
    $90, $97, $9E, $99, $8C, $8B, $82, $85,
    $A8, $AF, $A6, $A1, $B4, $B3, $BA, $BD,
    $C7, $C0, $C9, $CE, $DB, $DC, $D5, $D2,
    $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA,
    $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2,
    $8F, $88, $81, $86, $93, $94, $9D, $9A,
    $27, $20, $29, $2E, $3B, $3C, $35, $32,
    $1F, $18, $11, $16, $03, $04, $0D, $0A,
    $57, $50, $59, $5E, $4B, $4C, $45, $42,
    $6F, $68, $61, $66, $73, $74, $7D, $7A,
    $89, $8E, $87, $80, $95, $92, $9B, $9C,
    $B1, $B6, $BF, $B8, $AD, $AA, $A3, $A4,
    $F9, $FE, $F7, $F0, $E5, $E2, $EB, $EC,
    $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4,
    $69, $6E, $67, $60, $75, $72, $7B, $7C,
    $51, $56, $5F, $58, $4D, $4A, $43, $44,
    $19, $1E, $17, $10, $05, $02, $0B, $0C,
    $21, $26, $2F, $28, $3D, $3A, $33, $34,
    $4E, $49, $40, $47, $52, $55, $5C, $5B,
    $76, $71, $78, $7F, $6A, $6D, $64, $63,
    $3E, $39, $30, $37, $22, $25, $2C, $2B,
    $06, $01, $08, $0F, $1A, $1D, $14, $13,
    $AE, $A9, $A0, $A7, $B2, $B5, $BC, $BB,
    $96, $91, $98, $9F, $8A, $8D, $84, $83,
    $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB,
    $E6, $E1, $E8, $EF, $FA, $FD, $F4, $F3);


function Calculate_CRC8(Cadena: String):String;
var
  data: TArray;
  len, i: Integer;
  crc: byte;
begin
  data := TEncoding.UTF8.GetBytes(Cadena);
  len := Length(data);
  crc := 0;

  for i := 0 to len-1 do
    crc := CRC8_Table[(crc xor data[i]) and $FF];

  Result := Format('%.*d', [3, (crc and $FF)]);
end;
Responder Con Cita
  #2  
Antiguo 30-12-2019
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.333
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por keys Ver Mensaje
Hola a todos. Buscando por internet y haciendo pruebas pongo el código para Delphi. Para los dos ejemplos funciona.
Cita:
Empezado por elcharlie Ver Mensaje
Hola a todos, pues yo también os dejo el código de la función de crc8 en delphi. He intentendo hacerlo lo más parecido al jemplo de Java. Espero que os sirva. Un saludo y Feliz Navidad.


Muchas gracias a ambos.

NOTA: Actualizado el mensaje original con los links a los códigos (PHP y Delphi).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 30-12-2019 a las 15:57:41.
Responder Con Cita
  #3  
Antiguo 30-12-2019
bilbur bilbur is offline
Miembro
 
Registrado: dic 2019
Posts: 60
Poder: 5
bilbur Va por buen camino
Dispositivo de facturación

De la documentación técnica:


Dispositivo de facturación: dispositivo desde el que se accede a la aplicación de facturación, independientemente de que dicho dispositivo acceda a un servidor remoto para el funcionamiento de la aplicación. Por ejemplo: en una aplicación web, el número de serie será el del dispositivo que tiene instalado el navegador. No será, por tanto, el servidor remoto al que accede.


En mi caso la aplicación de facturación accede a un servidor remoto (mediante navegador).
Puede acceder al servidor una cantidad importante de dispositivos.

Mediante programación puedo acceder a la siguiente información del cliente que se conecta:
  • Serie del disco duro (problema, puede tener varios discos duros o particiones)
  • Serie de la BIOS (me sale una cadena en blanco, vacia)
  • Serie del procesador (parece correcto)
  • La IP del cliente (IP interna fija o IP por VPN también fija)
  • La MAC del cliente
No puedo acceder al ID de dispositivo del cliente (en win10 es algo así : 1055263D-F231-43D3-9DB4-D62D3D9629E0)


Mi idea es crear una tabla manual en el servidor con la MAC del cliente y la id de su dispositivo.


Antes de continuar me gustaría saber cómo solventáis vosotros este tema, no sea que esté haciendo el novato y exista una solución mejor.


Gracias
Responder Con Cita
  #4  
Antiguo 30-12-2019
Sistel Sistel is online now
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Cita:
Empezado por bilbur Ver Mensaje
De la documentación técnica:

Dispositivo de facturación: dispositivo desde el que se accede a la aplicación de facturación, independientemente de que dicho dispositivo acceda a un servidor remoto para el funcionamiento de la aplicación. Por ejemplo: en una aplicación web, el número de serie será el del dispositivo que tiene instalado el navegador. No será, por tanto, el servidor remoto al que accede.

En mi caso la aplicación de facturación accede a un servidor remoto (mediante navegador).
Puede acceder al servidor una cantidad importante de dispositivos.

Mediante programación puedo acceder a la siguiente información del cliente que se conecta:
  • Serie del disco duro (problema, puede tener varios discos duros o particiones)
  • Serie de la BIOS (me sale una cadena en blanco, vacia)
  • Serie del procesador (parece correcto)
  • La IP del cliente (IP interna fija o IP por VPN también fija)
  • La MAC del cliente
No puedo acceder al ID de dispositivo del cliente (en win10 es algo así : 1055263D-F231-43D3-9DB4-D62D3D9629E0)

Mi idea es crear una tabla manual en el servidor con la MAC del cliente y la id de su dispositivo.

Antes de continuar me gustaría saber cómo solventáis vosotros este tema, no sea que esté haciendo el novato y exista una solución mejor.

Gracias
En mi caso, se puede acceder al programa de facturación desde cualquier ordenador, smartphone o tablet conectado a Internet que se tenga a mano.
Para acceder, se utiliza cualquier navegador web simplemente autenticándose mediante usuario y contraseña.
Y, en el caso de algunos comerciales y transportistas en movilidad, pueden utilizar un PC ajeno (por ejemplo, el ordenador del cliente al que están visitando cuando ellos tienen mala conectividad de datos desde su portátil o smartphone)
Lógicamente, no se puede instalar ningún certificado ni software en los ordenadores ajenos desde los que se accede.
Y, por tanto, no hay forma de tener un certificado de dispositivo ni de obtener desde el servidor de facturación ningún identificativo fijo de dispositivo.

Lo he consultado al buzón de TicketBAI y estoy a la espera de respuesta.

Saludos
Responder Con Cita
  #5  
Antiguo 30-12-2019
Sistel Sistel is online now
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
Por cierto, en otra consulta anterior a TicketBAI, me respondieron que en la fase piloto se había utilizado, con éxito, en algunos casos, la MAC del dispositivo para utilizarla con identificativo del dispositivo.
Supongo que se le otrogaba un certificado de dispositivo a ese identificativo de MAC.

Pero, en mi caso, no es posible porque puede ser que la conexión sea desde un dispositivo ajeno a la empresa (como he indicado antes).
Y, aparte, tampoco veo la forma de obtener la MAC del dispositivo que se conecta desde el servidor web, remoto, de facturación.

Saludos
Responder Con Cita
  #6  
Antiguo 30-12-2019
Sistel Sistel is online now
Miembro
 
Registrado: nov 2019
Ubicación: Bilbao
Posts: 373
Poder: 5
Sistel Va por buen camino
En el punto 4.2.2 - Arquitecturas con firma en servidor, del documento de Política de firma, dice:

De forma complementaria, si la emisión de facturas se realiza en procesos desasistidos (batch) se
considera “arquitectura con firma en servidor”.

... En este caso, no se permite la firma con certificado de dispositivo.


El tema ahora es que tampoco se debería exigir certificado de dispositivo, en arquitecturas con firma en servidor (aunque no sean procesos desasistidos), si no es posible identificar el dispositivo desde el que se accede.

Espero respuesta de TicketBAI sobre el tema.
Les he propuesto que se pueda utilizar como identificativo del dispositivo (para la generación del código TBAI) un valor enviado mediante una cookie.

Saludos
Responder Con Cita
  #7  
Antiguo 02-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.333
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por Sistel Ver Mensaje
De forma complementaria, si la emisión de facturas se realiza en procesos desasistidos (batch) se
considera “arquitectura con firma en servidor”.

... En este caso, no se permite la firma con certificado de dispositivo.

Yo creo que esa nota de "En este caso, no se permite la firma con certificado de dispositivo.", es para TODOS los casos de firma de servidor. No sólo se refiere a los procesos batch.
Esa nota está al final del apartado.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #8  
Antiguo 02-01-2020
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.333
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por bilbur Ver Mensaje
En mi caso la aplicación de facturación accede a un servidor remoto (mediante navegador).
Puede acceder al servidor una cantidad importante de dispositivos.

Cita:
Empezado por Sistel Ver Mensaje
En mi caso, se puede acceder al programa de facturación desde cualquier ordenador, smartphone o tablet conectado a Internet que se tenga a mano.
Para acceder, se utiliza cualquier navegador web simplemente autenticándose mediante usuario y contraseña.
Y, en el caso de algunos comerciales y transportistas en movilidad, pueden utilizar un PC ajeno (por ejemplo, el ordenador del cliente al que están visitando cuando ellos tienen mala conectividad de datos desde su portátil o smartphone)

Yo creo que para estos casos os han creado, tal y como han dicho, la arquitectura de "firma en Servidor".
En ese caso NO hace falta certificado de dispositivo (no está permitido).
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 02-01-2020 a las 10:14:07.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3565 Hace 5 Días 11:04:13
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 16:51:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi