checksumme bilden

Alle anderen Themen ...

Moderator: ModerationP

checksumme bilden

Beitragvon Guybrush junior » 03. Feb 2018, 16:45

hallo,
ich stelle eine csv Datei nach. Diese hat unten eine checksumme.
Ich bekomme die checksumme net korrekt gebildet.
Das Original Programm, dass das csv-file erstellt , wurde in VB Net programmiert.
Falls sich jemand damit bischen auskennt, ich könnte da Hilfe brauchen.
über
Code: Alles auswählen
checksumme = CRC16(text_des_CSV_Files)

bekomme ich ne checksumme, die so ähnlich ist wie die checksumme in der original Datei.
Ich kann ja ne original Datei einlesen und dann wieder die checksumme bilden. Dann müsste ja die gleiche Summe raus kommen.
Die Frage ist schon mal, ob wirklich jedes Zeichen des csv-Files mit in die checksumme rein spielt.
Meine Versuche brachten auf jeden Fall nix, meine gebildete Summe ist nicht gleich der original Summe.
Vielleicht wird ja auch ne ganz andere checksummenroutine genommen. Deshalb auch die Frage, wie mit VB Net auf einfache Weise ne checksumme aus ner textdatei gebildet wird. Wenn ich den Code hätte könnte ich mir das in Access hin friemeln.

Wenn ich ne Datei einlese, dann daraus eine neue Datei erstelle und diese 2 Dateien mit Ultraedit und "Dateien vergleichen" vergleiche, dann sind die Dateien bis auf die checksummenzeile exakt identisch, also jedes Zeichen. Das liegt also nur an der checksummenbildung, die Dateien sind gleich.
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 575
Registriert: 19. Feb 2005, 14:30

Re: checksumme bilden

Beitragvon hddiesel » 04. Feb 2018, 10:49

Hallo,

sobald du eine Datei änderst, ändert sich die Checksumme, auch wenn du nur 1Zeichen eingibst, oder entfernst und anschließend die Datei speicherst.
Mit freundlichen Grüssen
Karl

BS: Windows 10_64-Bit, MS Office Professional Plus 2016_32-Bit
Benutzeravatar
hddiesel
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3239
Registriert: 17. Feb 2006, 11:40
Wohnort: Deutschland

Re: checksumme bilden

Beitragvon Guybrush junior » 04. Feb 2018, 10:56

die letzte Zeile der Datei kann ja net mit zur checksummenbildung ran gezogen werden, denn in dieser Zeile steht die ermittelte checksumme. und das ist die einzige Zeile mit unterschied von der original Datei zu meiner erstellten Datei.
Alle anderen Zeilen ergo Zeichen sind absolut identisch, hab ich ja schon geschrieben. Das kann man mit ultra Edit sehr gut prüfen, da gibt es einen direkten dateivergleich.
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 575
Registriert: 19. Feb 2005, 14:30

Re: checksumme bilden

Beitragvon hddiesel » 04. Feb 2018, 11:05

Hallo,

lese dir einmal folgendes durch:
https://support.microsoft.com/de-de/help/841290/availability-and-description-of-the-file-checksum-integrity-verifier-u

Vor Jahren, hatte ich mit diesem unter anderem getestet, (Unter einer anderen Versionsnummer)
https://www.heise.de/download/product/md5-file-hasher-87525
Nur zur Info, es gibt auch noch Einige andere PRG um Checksummen einer Datei zu erstellen und auszulesen.

Internet suche nach
md5 hash check
Mit freundlichen Grüssen
Karl

BS: Windows 10_64-Bit, MS Office Professional Plus 2016_32-Bit
Benutzeravatar
hddiesel
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 3239
Registriert: 17. Feb 2006, 11:40
Wohnort: Deutschland

Re: checksumme bilden

Beitragvon Guybrush junior » 04. Feb 2018, 17:34

hallo,

danke für deine Hilfe.

Ich habe schon vorher nach md5 geguckt, das kann ich aber fast ausschliessen. Weil die checksumme direkt als letzte Zeile mit im File steht.
und jede md5 checksumme ganz anders aussieht als meine checksumme, die ich generieren muss.
Ich denke, md 5 ist für die Geräte, die diese Files dann einlesen auch net machbar. Das sind mikrocontroller.
Da hab ich gerade was interessantes gefunden. Da werde ich jetzt weiter im Nebel stochern.
Es handelt sich um einen CRC-16 mit dem Polynom 0x8005 und dem Startwert
0x4000 mit gespiegelten Bytes. Die DLE-Zeichen (Telegrammanfang und
-ende sind durch DLE STX bzw. DLE ETX gekennzeichnet) gehen dabei nicht
in die CRC-Berechnung mit ein.

Du kannst das mit einem Online-CRC-Tool wie bspw. diesem hier

http://www.sunshine2k.de/coding/javascr ... rc_js.html

nachprüfen. Einen Screenshot (crc1.png) habe ich angehängt.

Der Startwert könnte prinzipiell statt 0x4000 auch 0xc003 sein, wenn am
Ende der CRC mit 0xC001 verXORt wird (crc2.png). Da beide Varianten für
alle sechs Telegramme passen, vermute ich, dass sie äquivalent sind.
Wenn isch immer des mache ded was die onern wolle, kennt isch moin Kopp in die Rachkammer hänge. (Offizieller Sponsor der Bundesrepublik Deutschland)
Benutzeravatar
Guybrush junior
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 575
Registriert: 19. Feb 2005, 14:30


Zurück zu Offtopic (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast