1. A method of generating a code for accessing data, the method comprising: displaying one or more images on a display, the display comprising an array of imaging elements for displaying images, each said imaging element having a predefined location on the display and being controllable according to an associated set of display parameters defining one or more display characteristics of the imaging element, whereby characteristics of a displayed image can be varied by varying values of the display parameters associated with the imaging elements; receiving user input to select one or more locations within said one or more images; defining a set of locations of said one or more images on the basis of the selected one or more locations; determining values of display parameters associated with the defined set of locations; and generating a security code at least partly on the basis of the determined values.