A hash function takes a string of any length as input and produces a fixed length string which acts as a kind of `` signature '' for the data provided . In this way , a person knowing the `` hash value '' is unable to know the original message , but only the person who knows the original message can prove the `` hash value '' is created from that message . Most cryptographic hash functions are designed to take a string of any length as input and produce a fixed-length hash value .