A Hash is a code, calculated based on the contents of a message. This code should have the property that it is extremely difficult to construct a message so that its Hash comes to a specific value.
Hash's are useful because they can be attached to a message, and
demonstrate that it has not been modified. If a message were to be
modified, then its hash would have changed, and would no longer match
the original hash value.