KDE PIM/KItinerary/vr.fi Barcode: Difference between revisions
Appearance
< KDE PIM | KItinerary
Line 31: | Line 31: | ||
| 22:0 - 23:5 || 14 bit uint || train number || might be including too many/few leading 0 bits, 0 for buses | | 22:0 - 23:5 || 14 bit uint || train number || might be including too many/few leading 0 bits, 0 for buses | ||
|- | |- | ||
| 23:6 - | | 23:6 - 28 || todo || todo || | ||
|- | |||
| 29 || 0b0010 0000 || || fixed in all samples | |||
|- | |- | ||
| 30:0 - 30:5 || 5 bit uint || coach number || leading 0 bits uncertain | | 30:0 - 30:5 || 5 bit uint || coach number || leading 0 bits uncertain |
Revision as of 18:22, 4 January 2020
General Observations
- always exactly 107 byte
- all binary, there are no recognizable ASCII strings in this
- the last ~64 byte have very high entropy, suggesting a signature or a compressed section
- there's a base64 encoded sequential number printed below the Aztec code on the ticket, containing 24bit.
- there's a 13 digit order number and optionally a 15 digit reference number on each ticket, sequential and covering multiple sections/travelers
- one barcode seems to be exactly for one journey section
- all available samples are for a single adult traveler
Bit Layout
Byte[:Bit] (MSB) | Content | Meaning | Notes |
---|---|---|---|
0 - 1 | 0b0001 0000 0b0000 0010 | unknown | fixed in all samples |
2 | 0b1010 0000 or 0b1000 0000 | unknown | |
3 | 0b0000 0001 | unknown | fixed in all samples |
4:0 4:6 | null | ||
4:7 - 5:7 | 9 bit day number | day of travel, counted from Jan 1 | |
6 - 12 | 0x00 0x49 0x24 0x92 0x49 0x24 0x92 | fixed in all samples, patterns repeats below | |
13 - 21 | todo | todo | |
22:0 - 23:5 | 14 bit uint | train number | might be including too many/few leading 0 bits, 0 for buses |
23:6 - 28 | todo | todo | |
29 | 0b0010 0000 | fixed in all samples | |
30:0 - 30:5 | 5 bit uint | coach number | leading 0 bits uncertain |
30:6 - 31:4 | 7 bit uint | seat number | 0 if no seat reserved |
31:5 - 31:7 | 0b100 | fixed in all samples | |
32 - 40 | 0x89 0x24 0x92 0x49 0x24 0x90 0x60 0x00 0x01 | fixed in all samples, repeats a pattern from 6-12 | |
41:0 - 42:0 | todo | todo | varies slightly between samples |
42:1 - 106:0 | 64 byte varying | high entropy in all samples, signature? | |
106:1 - 106:7 | null |