Prüfsumme auf Datei

Von der Installation bis zur Auslieferung der Applikation

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Prüfsumme auf Datei

Beitrag von Jan »

Für meine Software habe ich ein Updatemodul geschrieben, das automatisch auf dem Server nachsieht, ob es eine aktuellere Version für die Programmdateien gibt. Das fuktioniert auch sehr gut. Vor Allem selektiv - es werden nur die Dateien herunter geladen, die wirklich aktualsiert wurden. Auch heute hat noch nicht jeder Kunde einen Breitbandanschluß ...

Sporadisch passiert es aber Kunden, daß das Update sauber durchläuft, die Dateien ausgetauscht werden, dann aber eine Windows-Fehlermeldung sagt, das eine dll nicht für den Betrieb unter Windows geeignet sei. Was soviel heißt wie: Das Teil ist bei der Übertragung zerschossen worden.

Jetzt überlege ich, in meine Updateroutine eine Prüfung einzubauen. Das zu jeder Datei eine Prüsumme gespeichert wird. Nach dem Download wird kontrolliert, ob die heruntergeladene Datei diese Prüfsumme hat, und wenn nicht, wird die noch einmal herunter geladen.

Aber: Wie komme ich an diese Prüfsumme? Macht es Sinn, eine Alaska-Standard-Funktion wie Char2Hash() zu benutzen? Oder bietet Alaska etwas passenderes? Oder muß man besser auf ganz was anderes asuweichen? Quasi-Standard ist ja die MD5, aber sowas bietet Alaska leider nicht, auch nicht in der 2.0.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Prüfsumme auf Datei

Beitrag von satmax »

Für MD5 gibt es zahlreiche Lösungen, auch Command Line Programme:

von MS: https://www.microsoft.com/en-us/downloa ... x?id=11533
oder auch: http://winmd5.com/
Gruß
Markus
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Prüfsumme auf Datei

Beitrag von Jan »

Hallo Markus,

Danke für die beiden Links. Mir wäre aber eine Lösung lieber, die ich in meinen Code einbauen kann. Es widerstrebt mir, meinen Kunden noch eine Datei mehr ausliefern zu müssen, nur damit die sehr sporadische Updatefehler abfangen können. Wenn es garnicht anders ginge würde ich aber auch das in Kauf nehmen.

Ich kenne mich in der Materie nicht aus. Aber naiv gefragt: Muß es unbedingt MD5 sein? Würde nicht eventell auch ein Char2Hash() reichen? Oder SecureKey()? Oder eine andere Xbase++-Funktion?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Prüfsumme auf Datei

Beitrag von Manfred »

wäre FileCheck() aus den Tools eine Möglichkeit?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
satmax
1000 working lines a day
1000 working lines a day
Beiträge: 831
Registriert: Do, 02. Dez 2010 19:34
Wohnort: Biberbach in Österreich
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal
Kontaktdaten:

Re: Prüfsumme auf Datei

Beitrag von satmax »

IMHO ist Char2Hash() nur für Strings, nicht für Binary-> Char2Hash( <cString> ) --> cHash

Ich würde da eventuell gleich einen anderen Weg gehen, zippen. Da hast automatisch eine Prüfung, ein fehlerhaftes ZIP kannst gar nicht erst entpacken.
Gruß
Markus
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Prüfsumme auf Datei

Beitrag von Jan »

Manfred,

auch eine gute Idee. An die Tools hatte ich nicht gedacht. Wenn auch das wieder eine zusätzliche dll bedeuten würde, was ich ja eigentlich vermeiden wollte.

Markus,

hmmm. Würde natürlich zusätzlich die Übertragungen beschleunigen. Aber ich müsste dann auch die komplette Update-Routine umschreiben.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Prüfsumme auf Datei

Beitrag von Manfred »

ja sicher, aber wenn Du dann die Zusatzdll benutzt, dann hast Du auch wieder einen großen Pool an zusätzlichen guten Funktionen. So ganz ohne sind die nämlich nicht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: Prüfsumme auf Datei

Beitrag von Werner_Bayern »

Servus Jan,

du nutzt doch auch ot4xb? Dann ist es ein 3zeiler:

Code: Alles auswählen

   nFile := fopen(cDatei)
   hHash := HFile2Md5Hex(nFile)
   fclose(nFile)
Hat sich sehr bewährt bei uns.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: Prüfsumme auf Datei

Beitrag von Jan »

Hallo Werner,

interessante Variante. Vor Allem wäre das wieder "Standard" MD5. Schau ich mir mal näher an.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Prüfsumme auf Datei

Beitrag von AUGE_OHR »

satmax hat geschrieben:Ich würde da eventuell gleich einen anderen Weg gehen, zippen.
YUP ... wer eine DLL oder EXE "so" verschickt hat selbst Schuld wenn es "kaputt" ankommt.

p.s. ich würde das Windows ZIP System nehmen zu ein-/auspacken.
gruss by OHR
Jimmy
Antworten