AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CRC-16 berechnen

Ein Thema von brose · begonnen am 11. Feb 2010 · letzter Beitrag vom 3. Mär 2010
 
brose

Registriert seit: 20. Mai 2007
14 Beiträge
 
#5

Re: CRC-16 berechnen (Übersetzung C => Delphi)

  Alt 1. Mär 2010, 10:21
Ja, danke, aber ich hab auch nix rausbekommen.

Vermutlich handelt es sich um "RFC 1071 Internet Checksum" (http://www.codes-sources.com/rfc/RFC...R-24/1071.aspx)

Dort gibts unter Abschnitt 4.3 ne Implementation in C:

Delphi-Quellcode:
4.1 "C"

   The following "C" code algorithm computes the checksum with an inner
   loop that sums 16-bits at a time in a 32-bit accumulator.

   in 6
       {
          /* Compute Internet Checksum for "count" bytes
            *        beginning at location "addr".
            */
      register long sum = 0;

        while( count > 1 )  {
          /*  This is the inner loop */
              sum += * (unsigned short) addr++;
              count -= 2;
       }


           /* Add left-over byte, if any */
       if( count > 0 )
               sum += * (unsigned char *) addr;

           /* Fold 32-bit sum to 16 bits */
       while (sum>>16)
           sum = (sum & 0xffff) + (sum >> 16);

       checksum = ~sum;
   }

Verstehe ich das richtig:

Ich nehme immer zwei Hex-Pärchen und negiere sie. Dann summiere ich sie auf, den Übertrag (5. und weitere Stellen von rechts) schneide ich ab und addiere ihn ebenfalls. Die Summe negiere ich erneut und das ist dann der CRC-Wert?

Besteht evtl. die Möglichkeit, dass mir jemand den C-Code oben "mal eben" von C nach Delphi übersetzt?

Grüße
Sebastian
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:00 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