AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MD5-Prüfroutine für Delphi 10.2

Ein Thema von Harry Stahl · begonnen am 26. Nov 2017 · letzter Beitrag vom 29. Nov 2017
Antwort Antwort
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#1

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 13:11
Hat das den alleinigen Grund MAX_PATH nicht zu übersteigen?
Das wäre doch mit \\?\ gelöst.
Das gibt es unter Linux oder Windows 98 gar nicht. Aber das ist auch nicht der Hauptgrund: Es sind Kompatibilität und Faulheit

Aber ich kann es gerne in die übernächste Version einbauen als
Delphi-Quellcode:
procedure HashFile({$ifdef CONST} const {$endif} fname: String; PHash: PHashDesc;
                    var Digest: THashDigest; var buf; bsize: word; var Err: word);
  {-Calculate hash digest of file, buf: buffer with at least bsize bytes}
Die nächste Version ist unterwegs (heute oder morgen je nach Ablenkung) und bringt wesentlich beschleunigte Blake2B- und Blake2S-Routinen, Blake2B für alle Compiler von TP5 bis Tokyo.
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 13:14
Zitat:
Aber ich kann es gerne in die übernächste Version einbauen als
Das wär u.a. für mich sehr hilfreich.
Das \\?\ hänge jedenfalls ich immer vor meine Pfade.
Es kommt zwar nicht so oft vor, dass ein Pfad MAX_PATH überschreitet, aber es kann schon vorkommen.

P.S. kannst du ebenfalls bestätigen, dass Embarcaderos Fix gar kein Fix war? Denn wenn hash in den uses steht, wird nach System.Hash gesucht und nicht nach deiner Hash-Unit.
Angeblich wurde das von Embarcadero ja behoben ...

Geändert von LTE5 (29. Nov 2017 um 13:20 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#3

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 13:40
P.S. kannst du ebenfalls bestätigen, dass Embarcaderos Fix gar kein Fix war? Denn wenn hash in den uses steht, wird nach System.Hash gesucht und nicht nach deiner Hash-Unit.
Angeblich wurde das von Embarcadero ja behoben ...
Hier funktioniert das jedenfalls unter 10.2 Tokyo Update 1.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 13:55
Ich musste erst Hash nach weHash umbenennen, sonst wird immer nach System.Hash gesucht.

Wenn ich die Units alle neu runterlade und nichts umbenenne, kompiliere kommt md5.pas(100): E2003 Undeklarierter Bezeichner: 'THashContext'

Benenne ich Hash nach weHash um, ist alles gut.

Geändert von LTE5 (29. Nov 2017 um 14:17 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.599 Beiträge
 
Delphi 12 Athens
 
#5

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 14:30
Ich musste erst Hash nach weHash umbenennen, sonst wird immer nach System.Hash gesucht.
Komisch. Ich habe ein neues Projekt angelegt. Dabei werden die Unit-Scope-Names auf diesen Wert gesetzt:
Zitat:
Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;So ap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;So ap
Dann im Suchpfad das Verzeichnis der crc-hash Units eingetragen.

Das Projekt sieht dann so aus und compiliert ohne Probleme:
Delphi-Quellcode:
program HashTest;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  hash,
  md5;

procedure Main;
var
  context: THashContext;
begin
  MD5Init(context);
end;

begin
  try
    Main;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
Delphi 10.2 Update 1 (Version 25.0.27659.1188)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 14:32
Zitat:
Dann im Suchpfad das Verzeichnis der crc-hash Units eingetragen.
Habe ich nie gemacht. Wird wohl daran liegen.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#7

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 14:50
P.S. kannst du ebenfalls bestätigen, dass Embarcaderos Fix gar kein Fix war? Denn wenn hash in den uses steht, wird nach System.Hash gesucht und nicht nach deiner Hash-Unit.
Angeblich wurde das von Embarcadero ja behoben ...
Es ist behoben, zumindest bei meinem TokyoStarter (Delphi 10.2 Version 25.0.26309.314 ) kann ich die Units sogar parallel benutzen (für Masochisten). Das wird auch schon seit Mai 2017 im Archiv mit separaten einem Testprogramm getestet (File t_emb_we.dpr in $d25.zip, siehe auch das D25-Logfile t_crchash_d25.log)
Code:
G:\CRC_HASH>G:\CRC_HASH\t_emb_we.dproj
G:\CRC_HASH>T_EMB_WE.exe
Test hashing "abc"
Using WE - CRC/Hash
      MD5 900150983cd24fb0d6963f7d28e17f72
  SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Using system.hash
      MD5 900150983cd24fb0d6963f7d28e17f72
  SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
  Mit Zitat antworten Zitat
LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

AW: MD5-Prüfroutine für Delphi 10.2

  Alt 29. Nov 2017, 14:51
Ja ich denke die Lösung war einfach nur die Pfade zu den Hash-Dateien in die Suchpfade mit einzutragen, was ich vorher nie gemacht habe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz