Autor Beitrag
n-regen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 202
Erhaltene Danke: 2



BeitragVerfasst: So 23.04.06 11:41 
Hallo!
Bald geht mein FTP-Server ans Netz, und ich will meinen Besuchern die Möglichkeit geben, zu prüfen, ob die Datei korrekt downgeloadet wurde.
Gibt es in Delphi eine Möglichkeit, die Prüfsumme einer Datei zu ermitteln?
Wenn ja wie und geht es mit verschiedenen Möglichkeiten?
DeadlyAppearance
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: So 23.04.06 12:05 

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
n-regen Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 202
Erhaltene Danke: 2



BeitragVerfasst: So 23.04.06 12:10 
Sieht ganz gut aus, aber wie use ich das jetzt?
DeadlyAppearance
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 113

Win 7
Delphi 2010 Arch., C# VS 2008
BeitragVerfasst: So 23.04.06 12:51 
Diese Komponenten sind ksotenlos und sehr nice. Benutze die selbst.

www.cityinthesky.co.uk/cryptography.html

_________________
Als du auf die Welt kamst, weintest du, und um dich herum freuten sich alle. Lebe so, daß, wenn du die Welt verläßt, alle weinen und du allein lächelst.
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Mo 24.04.06 18:21 
Titel: Andere Lösung
Hi,
Du könntest auch so machen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
const OrginalDatei_Pruefsumme = {z.B. 245);
var PruefSumme,byt: byte;
begin
Filestream1.Read(pruefsumme,1);
While Filestream1.Read(byt,1) = 1 do begin
  PruefSumme := byt xor PruefSumme;
end;
if PruefSumme = OrginalDatei_PruefSumme then ShowMessage('Erfolgreich')
 else ShowMessage('Misserfolg');
end;


So wird das im Prinzip auch bei unserer HeizungsSteuerung gemacht. Die Methode ist ziemlich sicher, außer wenn sich mehrere Fehler aufheben. Wäre aber großer Zufall.

Den Quelltext müsstest du natürlich noch deinen Bedürfnissen anpassen und ich weiß auch nicht, wie man ihn Optimieren kann,
vielleicht irgendwie das Read ganz am anfang weglassen??

Jemand ne Idee?

Moderiert von user profile iconmatze: Delphi-Tags hinzugefügt
Marco D.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 2750

Windows Vista
Delphi 7, Delphi 2005 PE, PHP 4 + 5 (Notepad++), Java (Eclipse), XML, XML Schema, ABAP, ABAP OO
BeitragVerfasst: Mo 24.04.06 18:26 
Ich benutze dafür den MD5-Algorithmus. Lade dir md5.pas (Google-Suche: 'md5.pas download'). Diese dann über uses einbinden:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
uses md5;

function FileHash(dateipfad : string):string;
begin
result:=md5print(md5file(dateipfad));
end;

_________________
Pascal keeps your hand tied. C gives you enough rope to hang yourself. C++ gives you enough rope to shoot yourself in the foot