published on in Creations

Onlinetickets der Deutschen Bahn (Teil 2)

Ein paar Formatänderungen und viele neue Samples. Was hat sich seit dem letzten Mal getan?

  • EC/Kreditkartennummern werden nun auch im Ticket mit *** maskiert (seit 02/2012).
    Ausnahme: Personalausweisnummern, die ja u.a. das Geburtsdatum enthält.
    Witziges Detail: Die EC-Kartennummer wird auf 2 Stellen am Ende maskiert: ******78, aber im 0080ID-Block stehen weiterhin die letzten 4 Ziffern im Klartext.
  • Seit 04/2012 gibt es ein zusätzliches Feld mit maschinenlesbarer Trennung aus Vorname und Name.
  • Einige (sehr wenige) Tickets haben einen 0080VU Block mit 39-40 Byte Binärdaten und bisher weiß anscheinend noch keiner was so drin ist.

Spielen mit den Tickets macht jetzt mehr Spaß, denn zxing kann nun Aztek-Barcodes in den meisten Fällen decodieren, folglich gibt’s das kurze Script parsepdfs.sh, das aus einem Verzeichnis voller Onlineticket-PDFs lauter Dateien mit den Binärinhalten der Barcodes erstellen kann, die sich dann mit onlineticket.py ansehen lassen. Außerdem habe ich das Programm ein wenig überarbeitet, sodass es nun deutlich robuster ist.

Aus den öffentlich zugänglichen Onlinetickets habe ich dann mal die Seriennummern extrahiert und gegen die Zeitachse aufgetragen. Jetzt wissen wir also wieviel Onlinetickets die Bahn so verkauft. In 2010 hat der Zähler 100 Millionen erreicht und wurden dann wohl zurückgesetzt (roter Graph), wär das nicht passiert wäre der blaue Graph bei rausgekommen.