How QR codes work and what makes them dangerous – a computer scientist explains