1. A method of verifying a document, comprising: receiving, by an issuer computer, a digital representation of a scanned printed document, wherein the scanned printed document is generated by scanning, by a scanner, a document comprising text content and a document identifier, generating, by the issuer computer, an issuer hash by dividing the scanned document into a plurality of data blocks and generating for each data block a pair of hashes, transmitting, by the issuer computer, the issuer hash and the document identifier to a document authentication system server, generating, by the issuer computer, a machine readable code using the text content, and applying, by the issuer computer, the machine readable code to the document and printing the document; retrieving, by a receiver computer, the document identifier and text content, from the machine readable code, from the digital representation of the scanned printed document and transmitting the document identifier to the document authentication system server; receiving, by the receiver computer, a hash values request, from the document authentication system server and by the receiver computer: retrieving the text content from the machine readable code; selecting a data block from the text content based on the hash values request; generating receiver hash values for the selected data block of the text content; and transmitting the receiver hash values to the document authentication system server; receiving, by the receiver computer, match information from the document authentication system server; and based on the received match information, printing, by the receiver computer, the scanned printed document.