![]() |
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.
|
AW: SHA256 von großen Dateien
Liste der Anhänge anzeigen (Anzahl: 1)
Habe das Ergebnis,
@Luckie Wäre Cool, wenn Du das hochladen könntest, habe nämlich keinen Webspace. Ansonsten kann sich jeder gerne Melden. Es braucht zum kompilieren JEDI VCL und eine Delphi-Version, die das TGridPanel unterstützt. Danke nochmal an Aphton! |
AW: SHA256 von großen Dateien
Zitat:
Zitat:
EDIT hab dann auch mal das Kennzeichen "offene Frage" entfernt ;) |
AW: SHA256 von großen Dateien
Wie hätte man das Kennzeichen entfernen können? Hab' auf Anhieb keinen Button dafür gefunden.
Der Satz mit dem Hochladen ist entstanden, da war mit noch nicht bewusst, dass man hier Attachements ranpappen kann, 'Tschuldigung. |
AW: SHA256 von großen Dateien
Zitat:
|
AW: SHA256 von großen Dateien
Ich bin auch blöd. Also genau so, wie ich das Ding am Anfang als offene Frage gekennzeichnet hatte...
|
AW: SHA256 von großen Dateien
Hallo,
Falls Du noch am SHA-256 Algorythmus interessiert bist, hier ein Link ![]() Hier kannst Du noch andere Verschlüsselungs bzw. Hash Algorythmen finden. Beste Grüße Thomas :) |
AW: SHA256 von großen Dateien
Hi, DCrypt klappt leider nicht, da hier mit einem Buffer operiert wird und man so nicht über die 2 GiB-Grenze hinweg kommt. Da hätte ich das lieber selber implementiert.
MD5 war für meine Zwecke ausreichend: Ich habe erstaunliches über das Kopieren von Files via Windows-Netzwerk gelernt: Nach dem ich aus meinem 750 GiB Filme-Ordner die Fehlerhaft von Rechner A nach Rechner B übertragenen Dateien gelöscht hatte (insgesamt 177 von 3042), blieben noch 601 GiB übrig. Macht eine stolze Fehlerquote von 33,5%! Die beteiligten Festplatten sind in Ordnung. Bei den MP3s war die Fehlerquote wesentlich geringer aufgrund der kleineren Dateigröße. Windows 3.11 kam im November '93. Seit dem hätte man ja ein sicheres Kopierverfahren mit impliziten Prüfsummen implementieren können... |
AW: SHA256 von großen Dateien
Zitat:
Zitat:
|
AW: SHA256 von großen Dateien
Zitat:
Zitat:
Hab' ein wenig Gnade, habe gerade eine zweifache Wurzelspizenresektion mit doppelter "Eröffnung", sowie den Wiederverschluss eines Hohlraumes im Oberkiefer aus einer vorangegangenen OP hinter mir. My Point beeing ich hatte Windows für besser gehalten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:14 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