Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Hash-Algorithmus


kissgdr - Di 02.01.24 15:59
Titel: Hash-Algorithmus
Guten Tag!

Da meine bisherige einjährige kostenlose Lizenz für Delphi Community Edition (10.3.3) abgelaufen ist, habe ich auf die neuere Version Alexandria (11.3) aktualisiert.
Ich habe den Hash-Algorithmus verwendet, um den MD5-Wert in einem meiner Programme zu berechnen.
Dieser Teil des Programms (Unit) wurde ursprünglich in Delphi7 geschrieben, an dem ich einige kleinere Änderungen vorgenommen habe (z.B. string~ansistring), so dass es in Version 10.3.3 noch perfect funktionierte.
Beim Wechsel zur neueren Alexandria-Version, nachdem ich das Programm neu kompiliert habe, läuft die MD5-Berechnung mit einem 'Range check error' (was also in 10.3.3 funktionierte, funktioniert nicht in Alexandria!)
Ich würde gerne das gesamte Programm mit einem neueren Hash-Berechnungsmodul neu schreiben. In der RAD Studio-Beschreibung habe ich einen THashMD5 Type in der System.Hash Unit gefunden. Leider wird die nötige Funktion GetHashStringFromFile vom Compiler nicht mehr erkannt, nicht deklarierte Variable.
Wo kann ich das benötigte Package mit der genauen Dokumentation herunterladen?

Moderiert von user profile iconTh69: I- durch Delphi-Tags ersetzt


Andreas_500 - Di 02.01.24 16:54

Hallo,
vielleicht hilft Dir diese Bibliothek weiter:
DEC - Delphi Encryption Compendium [https://github.com/MHumm/DelphiEncryptionCompendium]

DEC is a library for Embarcadero Delphi, containing different cryptographic algorithms. It contains algorithms for these categories:
...
Hashes: "cryptographic checksums"
...

und vieles mehr.

Viele Grüße
Andreas

Moderiert von user profile iconTh69: URL-Titel hinzugefügt


Th69 - Di 02.01.24 17:26

THashMD5.GetHashStringFromFile [http://docwiki.embarcadero.com/Libraries/Alexandria/de/System.Hash.THashMD5.GetHashStringFromFile] ist eine statische Funktion der Struktur THashMD5, d.h. du mußt beim Aufruf diesen Strukturnamen davorsetzen (und die Unit "System.Hash" einbinden).