![]() |
SHA256 von großen Dateien
Hallo liebe Delphi-Praxis-Gemeinde,
bevor ich es selber bastle: hat jemand da draußen vielleicht schon einmal den SHA256 von großen Dateien ermittelt? Mein Ziel ist es eine Klasse zu schaffen, die von einer großen Datei (>4GiB) den Hash-Wert in SHA256 ermittelt und dabei Progress-Events feuert (z.B. pro Chunk oder in einem anderen praktikablen Intervall). Nach einer 30 Minütigen Google-Recherche hab' ich nicht funktionierende Download-Links und Klassen, die mit Strings hantieren satt und der Pseudocode auf Wiki sieht nicht ZU komplex aus. Ich würde auch nur ungern dafür irgendwelche Komponenten installieren, da es leider bei Delphi immer noch einen heiden-Aufwand bedeutet, will man ein Projekt auf anderen Rechnern kompilierbar halten (wenn jemand schon mal in JAVA mit Maven und Artifactory/Archiva gearbeitet hat, weiß er, wie es funktionieren SOLLTE) Gibt es da schon etwas (oder etwas, dass mir weiterhelfen würde) oder muss ich das selber schreiben? Dank im Voraus & Gruß, NZ P.S.: Wenn ich dienliche Hinweise bekomme, werde ich die Gesamtlösung selbstverständlich die Lösung hier posten. |
AW: SHA256 von großen Dateien
Muss es SHA256 sein?
Ich könnte dir nämlich eine Fertiglösung für MD5 bieten. MD5 liefert letzendlich auch 16 Bytes, was ja 256 Bits sind, zurück! Edit: Ups, das sind 128 Bits |
AW: SHA256 von großen Dateien
hier könnte man mal reinsehn, ob's da was giebt
![]() ![]() http://www.delphipraxis.net/9486-dateien-verschluesseln-aber-wie.html ![]() oder man nimmt das DEC :angle2: |
AW: SHA256 von großen Dateien
MD5 ginge auch, SHA256 ist nur halt ein wenig moderner. (und natürlich um ein paar Faktoren langsamer :)
Vielleich noch zum Hintergrund der ganzen Geschichte: Ich habe eine Sicherungs-Ordner (im Wesentlichen ~200 RAR-Archive) den ich immer manuell zwischen meinen Rechnern synchronisiere. Jetzt nehme ich gerade einen neuen Proberaumrechner in Betrieb und der meldet mir CRC-Fehler bei ein paar der größeren Archive (kopiert via Microsoft Network/samba unter Windows-7). Ich bastle gerade ein Programm, was einen Index des Sicherungsordners mit Filename, FileSize, LastChange und SHA256 erstellt (tsv-datei), um den Fehler besser eingrenzen zu können. Ziel ist, dass ich nur noch die Index-Datei vergleiche um Differenzen aufzudecken, anstatt immer die 300 Gib zu vergleichen (~5 Stunden mit 1GBit). MD5 wäre für diese Zwecke natürlich ausreichend (die Fehlerate ist auch noch bei MD5 unrealistisch hoch). Prinzipiell wäre ich daher auch auch für einen MD5 dankbar. |
AW: SHA256 von großen Dateien
Danke@himitsu,
aber die o.g. Probleme gibt es dabei immer noch, ich will halt weder die Delphi[XE] Indy-Klassen verwenden (wg. > 2 GiB), noch DEC verwenden (Kompilierbarkeit+GibtsDasÜberhauptFürDelphiXE?) |
AW: SHA256 von großen Dateien
Liste der Anhänge anzeigen (Anzahl: 1)
Hier, schau mal, ob es dir hilft.
Die Demo Datei berechnet den Hash der ihr übergebenen Datei - dh. versuch einfach mal irgendeine Datei auf diese zu droppen (damit öffnen)! Weiters: Es werden die MD5 Funktionen, die von Windows in cryptdll.dll zur Verfügung gestellt werden, verwendet! Du müsstest dann noch wegen Kompaktibilität nachguggen! |
AW: SHA256 von großen Dateien
Danke, mach ich morgen, muss jetzt leider weg!
|
AW: SHA256 von großen Dateien
@Aphton: Sehr schön. Gefällt mir. Ich habe mir erlaubt das Archiv auf meine Webseite hochzuladen:
![]() |
AW: SHA256 von großen Dateien
Absolut nichts, ganz im Gegenteil sogar. Verschafft mir eine Ehre!
|
AW: SHA256 von großen Dateien
Vielen Dank Euch, werde gleich mal probieren das zu integrieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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-2025 by Thomas Breitkreuz