Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Proyecto SIF/Veri*Factu/Ley Antifraude > Envío de registros y sus respuestas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 18-12-2024
razorxxx razorxxx is offline
Miembro
 
Registrado: jul 2015
Posts: 198
Poder: 11
razorxxx Va por buen camino
En Delphi, la función para calcular la huella SHA-256 es sencilla:

Código Delphi [-]
function GetSHA256HashOfString(const Texto: String): String;
begin
       Result := THashSHA2.GetHashString(Texto, THashSHA2.TSHA2Version.SHA256);
end;

Y aquí la llamada, creando primero la cadena con los campos que pide Verifactu (en este ejemplo, los campos están en TEdit en pantalla):

Código Delphi [-]
procedure CalcularHuella;
var
   Cadena: String;
begin
     // Formar la cadena de entrada desde la que se calculará el hash
     Cadena := 'IDEmisorFactura=' + Trim(NIF.Text) + '&';
     Cadena := Cadena + 'NumSerieFactura=' + Trim(NumSerieFac.Text) + '&';
     Cadena := Cadena + 'FechaExpedicionFactura=' + Trim(FechaExpe.Text) + '&';
     Cadena := Cadena + 'TipoFactura=' + Trim(TipoFac.Text) + '&';
     Cadena := Cadena + 'CuotaTotal=' + Trim(Cuota.Text) + '&';
     Cadena := Cadena + 'ImporteTotal=' + Trim(Importe.Text) + '&';
     Cadena := Cadena + 'Huella=' + Trim(HuellaAnterior.Text) + '&';
     Cadena := Cadena + 'FechaHoraHusoGenRegistro=' + Trim(FechaGenReg.Text);
     Consola.Lines.Add('Cadena de entrada: ' + Cadena);
     // Calcular el hash SHA-256 de la cadena formada anteriormente y devolverlo en mayúsculas como exige Veri*Factu
     Consola.Lines.Add('Cadena de salida: ' + AnsiUpperCase(GetSHA256HashOfString(Cadena)));
end;

Lo probé con el ejemplo que aparece en la documentación de la AEAT y devuelve exactamente el mismo hash. Imprescindible poner en el uses la unit System.Hash
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Software para control del personal con huella digital santiago14 Varios 3 15-03-2013 16:10:27
Componente para huella digital rex Varios 1 17-05-2006 18:33:52
Lector de Huella Digital para control de personal Mauro® Varios 2 05-05-2005 02:43:21
Scanner Huella Dactilar para delphi camc79 Varios 1 25-04-2004 20:36:56


La franja horaria es GMT +2. Ahora son las 01:57:21.


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