Ver Mensaje Individual
  #760  
Antiguo 09-05-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Algo así:


Código Delphi [-]
uses
  IdHash, IdHashSHA, IdGlobal, SysUtils;

function CalculateFileHash(const FileName: string): string;
var
  FileStream: TFileStream;
  SHA256Hash: TIdHashSHA256;
  HashBytes: TBytes;
begin
  FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  try
    SHA256Hash := TIdHashSHA256.Create;
    try
      HashBytes := SHA256Hash.HashValue(FileStream);
      Result := LowerCase(BytesToHex(HashBytes));
    finally
      SHA256Hash.Free;
    end;
  finally
    FileStream.Free;
  end;
end;

// Ejemplo de uso:
procedure TForm1.Button1Click(Sender: TObject);
var
  FileName: string;
  HashValue: string;
begin
  FileName := 'ruta_del_archivo.xml';
  HashValue := CalculateFileHash(FileName);
  ShowMessage('Hash SHA256 del archivo XML: ' + HashValue);
end;
Responder Con Cita