Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6781[/thread]

Frage zu Digest::CRC (Seite 2)

Leser: 2


<< |< 1 2 >| >> 17 Einträge, 2 Seiten
vayu
 2005-03-14 17:35
#52543 #52543
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
sooo

ein paar tage sind vergangen, mein programm ist soweit fertig, als letzten schritt habe ich meine ausgaben nochmal gegengecheckt.

Habe mir also ein c-tool zum berechnen der Checksum besorgt und über die gleichen daten laufen lassen.

bei dem gleichen polynom kommen unterschiedliche ergebnisse raus.

weiss jemand von euch, ob das Digest::CRC korrekt arbeitet? Oder hat jemand von euch ein modul von dem er 100% weiss, dass es korrekt arbeitet?\n\n

<!--EDIT|vayu|1110814541-->
esskar
 2005-03-14 17:56
#52544 #52544
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
poste doch mal deinen perl code und den c code
Dubu
 2005-03-14 18:03
#52545 #52545
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Zeig doch mal deinen Code.

Hast du auch die richtigen Ausgaben verglichen? Die meisten Programme liefern als Ausgabe fuer Checksummen Hex, waehrend Digest::CRC einfach eine Zahl liefert (die man dann natuerlich auch in Hex ausgeben kann).

Benutzt das C-Tool auch CRC16 und nicht vielleicht CRC32?

Ich bezweifle jedenfalls, dass Digest::CRC vom Algorithmus her falshc ist. Das haette schon laengst jemand gepatcht.
vayu
 2005-03-14 18:04
#52546 #52546
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
*code entfernt* (hab ärger bekommen) :)

die funktion crc16 die ich im perlcode aufrufe ist in dem modul Digest::CRC


das c-tool benutzt CRC16

ich habe beide als Hex UND als Dezimal ausgeben lassen. kann man ja beides schön konvertieren :) ist in beiden fällen unterschiedlich\n\n

<!--EDIT|vayu|1110881535-->
esskar
 2005-03-14 18:15
#52547 #52547
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
deine c version sieht umständlich aus
http://www.indigosystems.com/CServices/crc16_c.html
esskar
 2005-03-14 18:16
#52548 #52548
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
die frage ist auch, was du jeweils in die function reinsteckst
vayu
 2005-03-14 18:21
#52549 #52549
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
die C version kriegt sowas zu fressen:

Code: (dl )
1
2
3
4
5
6
7
static const uint8 testblock1[(uint8)0x20] =
{
(uint8)0x09, (uint8)0x00, (uint8)0x86, (uint8)0x18, (uint8)0x45, (uint8)0x03, (uint8)0xB0, (uint8)0xA0,
(uint8)0x50, (uint8)0x50, (uint8)0x50, (uint8)0x40, (uint8)0x60, (uint8)0x60, (uint8)0x62, (uint8)0x62,
(uint8)0x62, (uint8)0xFF, (uint8)0x00, (uint8)0x50, (uint8)0x64, (uint8)0x64, (uint8)0x02, (uint8)0x1E,
(uint8)0x14, (uint8)0x32, (uint8)0x48, (uint8)0x00, (uint8)0x00, (uint8)0x14, (uint8)0xFF, (uint8)0xFF
};



die perl version nen string wo die einzelnen bytes von oben aneinandergereit sind (ohne die 0x natürlich), die werden dann aber ja noch durchs pack() geschickt, bevor sie übergeben werden\n\n

<!--EDIT|vayu|1110817312-->
<< |< 1 2 >| >> 17 Einträge, 2 Seiten



View all threads created 2005-03-11 11:34.