Avatar billede mbl Novice
12. maj 2003 - 13:33 Der er 11 kommentarer og
2 løsninger

Beregning af checksum

Mit problem ligge i at jeg har en checksum men ved ikke hvordan den er beregnet.
Jeg vedlægger 2 eksembler:
De ser således ud

Første eks.
1002F0010009806089254EFBBF1003

1002F0010009806089254E"FBBF"1003

FBBF ER LIG MED CHECKSUM

Andet eks.
1002F001000A806089264E2AB31003

1002F001000A806089264E"2AB3"1003

2AB3 ER LIG MED CHECKSUM

På forhånd tak

Mickey
Avatar billede jespernaur Nybegynder
12. maj 2003 - 19:14 #1
Har du ikke lidt flere oplysninger om, hvad det er for en protokol? Herunder navnet på checksums-algoritmen?
Avatar billede Slettet bruger
12. maj 2003 - 20:13 #2
Ud fra det du har givet, hvilket jo ikke er meget, så smider man de 4 sidste karakterer væk og tager så de næste 4 og kalder dem for checksum.
Avatar billede martin_moth Mester
13. maj 2003 - 08:29 #3
mbl: Forventer du et seriøst svar på det spørgsmål?
Avatar billede martin_moth Mester
13. maj 2003 - 08:40 #4
mbl: Måske lyder jeg lidt sarkastisk, men dit spørgsmål svarer lidt til at spørge:

  "Min ynglingsret er pizza. Hvad er min nabos ynglingsret?"

Vi har jo absolut og overhovedet ingen forudsætning for at kunne hjælpe dig med de oplysninger du giver - skulle checksummen være afhængig af de øvrige cifre i nummeret, er der jo uendeligt(!!!) mange muligheder for hvordan checksummen beregnes ;o)
Avatar billede mbl Novice
13. maj 2003 - 08:46 #5
Det er en protokol fra et system der hedder BAS2800(INVENSYS)som er et PLC system, Det jeg ved om protokolen er:
eks. 1002 F0 01002E80 2363 C44F 01F000 4F 0200 FFFF3F070000FFFF0100 0700 AD2A 1003

10        :DLE
02        :STX
F0        :Pdu ID
0100      : Dets. Ref = 0x0001
2E80      :Data ID = 0x8002E
23        :Command
63        :Sub-command
C44F      :AppId = 0x4FC4
01        :QOS = 1 jeg formoder det drejer sig om "Quality Of service"
0F00      :????
4F        :DEV type = 0
0200      :DEV num = 2
FFFF03070000FFFF0100 :??? Data informationer
0700      :punkt nummer
AD2A      :Checksum = 0x2AAD
10        :DLE
03        :ETX

Der der er mit problem er at jeg ikke kender checksmsalgoritmen. :-)

Mickey
Avatar billede martin_moth Mester
13. maj 2003 - 08:51 #6
Nej - og så er det jo umuligt at sige hvad en given checksum skal være, hvis man ikke kender algoritmen
Avatar billede mbl Novice
13. maj 2003 - 08:59 #7
Jeg ved godt det er svært et finde algoritmen, men der må da være en måde at gøre det på. Jeg ved protokolen er udviklet i England i midt 80'erne, og det ku jo være at nogle kender de algoritmer man brugte på det tidspunkt. Det bliver ikke nemt, men det er jo det der gør det spændende.  :-)
Avatar billede martin_moth Mester
13. maj 2003 - 09:06 #8
Hvis jeg forstår begrebet checksum korrekt, så svarer dit spørgsmål til:

  Resultatet er 2314 - hvad er regnestykket?

Som sagt - der er jo uendeligt mange muligheder, men problemet kan måske løses hvis man har noget forhåndskendskab til protekollen - men som jeg forstår det, er det en umulighed at beregne den checksum uden dette kendskab - og der er måske lige lovligt spændende ;o)
Avatar billede mbl Novice
13. maj 2003 - 09:15 #9
Det er rigtigt, men det jeg tænkte på var at et en er 2 byte checksum, så det ku jo være at nogle kunne se beregningen, da datalængden ikke er mere en få bytes. ;-)
Avatar billede martin_moth Mester
13. maj 2003 - 09:19 #10
Ja, ok - så er mulighederne måske ikke uendelige, men blot mange ;o)
Avatar billede mbl Novice
05. juni 2003 - 11:03 #11
Vil i der har deltaget i denne debat lægge et svar idet jeg syntes at i skal dele de udlovet point. De gives ikke for et svar som kunne hjælpe mig, men for den lune humor som ligger i kommentarene.

Mickey
Avatar billede martin_moth Mester
05. juni 2003 - 11:10 #12
Nap du bare de fleste selv :o)
Avatar billede Slettet bruger
05. juni 2003 - 12:38 #13
Jeg synes også at du selv bare skal tage pointene :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester