A method for generating a unique identifier for a user, the method comprising: transmitting, by a processor, a prompt for user selection of a digital image; receiving, by the processor, the digital image selected by the user; saving, by the processor, the digital image received by the processor in a data storage device; identifying, by the processor, a first code associated with the user; embedding, by the processor, the first code into the digital image and generating a first modified digital image in response; storing, by the processor, the first modified digital image in the data storage device; and transmitting, by the processor, the first modified digital image to the user over a data communications network, and authenticating the user, including: receiving, by the processor, from the user, a request including the first modified digital image and information including a login form; retrieving, by the processor, the first code from the first modified digital image, characterised by retrieving, by the processor, the digital image from the data storage device; comparing, by the processor, the first modified digital image received from the user against the digital image retrieved from the data storage device; and outputting, by the processor, based on the comparing, differences between the first modified digital image received from the user and the digital image retrieved from the data storage device, thereby retrieving the first code from the first modified digital image; comparing, by the processor, the first code retrieved from the first modified digital image, against a stored version of the first code; and taking, by the processor, a success action associated with the first modified digital image in response to a match of the retrieved first code against the stored version of the first code. transmitting, by a processor, a prompt for user selection of a digital image; receiving, by the processor, the digital image selected by the user; saving, by the processor, the digital image received by the processor in a data storage device; identifying, by the processor, a first code associated with the user; embedding, by the processor, the first code into the digital image and generating a first modified digital image in response; storing, by the processor, the first modified digital image in the data storage device; and transmitting, by the processor, the first modified digital image to the user over a data communications network, and authenticating the user, including: receiving, by the processor, from the user, a request including the first modified digital image and information including a login form; retrieving, by the processor, the first code from the first modified digital image, characterised by retrieving, by the processor, the digital image from the data storage device; comparing, by the processor, the first modified digital image received from the user against the digital image retrieved from the data storage device; and outputting, by the processor, based on the comparing, differences between the first modified digital image received from the user and the digital image retrieved from the data storage device, thereby retrieving the first code from the first modified digital image; comparing, by the processor, the first code retrieved from the first modified digital image, against a stored version of the first code; and taking, by the processor, a success action associated with the first modified digital image in response to a match of the retrieved first code against the stored version of the first code. retrieving, by the processor, the digital image from the data storage device; comparing, by the processor, the first modified digital image received from the user against the digital image retrieved from the data storage device; and outputting, by the processor, based on the comparing, differences between the first modified digital image received from the user and the digital image retrieved from the data storage device, thereby retrieving the first code from the first modified digital image; comparing, by the processor, the first code retrieved from the first modified digital image, against a stored version of the first code; and taking, by the processor, a success action associated with the first modified digital image in response to a match of the retrieved first code against the stored version of the first code.