Autor Beitrag
Nano-Ware
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: So 22.07.12 13:52 
Hey,

ich möchte gerne überprüfen, ob eine Sprachdatei meines Programmes verändert wurde. Die Sprachdateien sind eine XML-artige Dateien. Ich habe mir gedacht ich erstelle eine Prüfsumme und vergleiche sie dann jedes Mal. Nur: Wie erstelle ich eine Prüfsumme und vor Allem welche Prüfsummentechnik soll ich verwenden?

Danke!


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 22.07.2012 um 14:24
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 22.07.12 14:24 
Moin!

Wenn es wirklich nur um die Erkennung von Änderungen geht, nimm MD5. In der Unit, die ich dafür verwende, ist auch eine extrem schnelle MD5File-Methode drin, die das mit MMF macht. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: So 22.07.12 14:26 
Für Prüfsummen gibt es eine ganze Menge an Bibliotheken, wobei das DEC von negaH wohl mit das bekannteste ist. Alternativ schwirren ja immer zahlreiche andere Libs rum.

Im Prinzip ist es egal, welche der verschiedenen Prüfsummenverfahren du nimmst; wichtig ist im Endeffekt nur, dass sie die von dir gewünschten Änderungen erkennen. Alles oberhalb von CRC32 bedarf schon einer expliziten Manipulation und CRC32 ist für normale Veränderungen auch gegen Kollissionen gefeit und damit für ein einfaches "ich möchte prüfen, ob die Datei geändert ist" durchaus zu gebrauchen.

Erst wenn man Kryptographie machen will, reichen weder MD5 noch SHA1 allein nicht mehr aus und man muss die größeren Geschütze auffahren, aber das ist bei Dir jetzt nicht nötig.

Soviel zum Vorgeplänkel, nun zur Umsetzung: Nimm eine beliebige Bibliothek, die eine Prüfsumme (oder verschiedene) berechnen kann, bau sie ein und schau, dass das Ergebnis mit dem passt, was Du brauchst. That's it ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Nano-Ware Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 394
Erhaltene Danke: 7



BeitragVerfasst: So 22.07.12 14:38 
Wo finde ich denn eine vorgefertigte Unit dafür? (Beliebige Checksumme, die halt den Unterschied zwischen "Size:255" und "Size:256" erkennen sollte.)
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10181
Erhaltene Danke: 1254

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: So 22.07.12 14:45 
Moin!

10 Sekunden suchen :lupe: lieferte diesen Thread hier in der EE, da ist etwas im Anhang des ersten Beitrags enthalten. :les: :idea: da hätte man auch noch selbst drauf kommen können, oder?

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.