1. A system for reading an optical code and verifying the read optical code comprising: an imaging engine having an array of image sensors for sensing an image of an object and an optical code associated with the object and generating respective object image data and optical code image data; a database storing a plurality of digital codes and an object image data entry associated with each respective digital code of the plurality of digital codes, wherein the object image data entry associated with a digital code of the plurality of digital codes represents at least one image of an object that is assigned the digital code; and a processing unit for receiving the object image data and the optical code image data from the imaging engine, said processing unit comprising: a code generation software module for generating at least one digital code that corresponds to the optical code image data; a database query module for accessing at least one object image data entry stored in the database associated with at least one respective stored digital code that substantially matches the respective at least one generated digital code; and a comparator module for comparing the generated object image data with the at least one accessed object image data entry.