Hash functions are used in computing and cryptography. A hash function is a function that, based on input data, calculates a fingerprint to quickly identify the original data. This footprint is of fixed size and is different depending on the function used and the input data. So different data will all give different footprints. A fingerprint does not contain enough information to allow the restitution of the original message, that is why we speak of one-way function.To summarize, a hash function makes it possible to convert an object of arbitrary size (text, file, video, …) into a fixed size chain. Generally this size is 128, 160, 256 or 512 bits.Why hash? One of the goals of an imprint is to represent data with certainty while reducing the useful size that will actually be encrypted. This avoids using large amounts of data.The other purpose of the imprint is to assure a recipient that the file he receives from you is yours and that it has not been modified in the meantime. Indeed, a modification inside the document, even minimal, causes a change of the print. The user immediately realizes the change. Thus, you reassure the recipient about the source of the file and its contents.An example, to better understand Here is a clear example is simple to facilitate understanding and understand in a real case the usefulness of a hash function.Let’s take a first person, we’ll call him Alice. Alice wants to download the latest software company X. This software is available free online, the problem: many sites offer the download of this software. Alice goes to the first site and downloads the software. Alice will find out about the official website of the company X, on its website, the company indicates that the hash corresponding to the software is as follows:«56ebd58645210e7a2a0f52fcf1a50f02e395c9dc»The download finished, before running on his computer the program Alice calculates the hash of the software. Here is the result of Alice:«D414e327ff25088ae00e2a4137bdf80d35a69ea9»Alice, easily notices, that there is no correspondence between the two strings. The software that Alice downloads does not match the one offered by X.Conclusion: the software proposed by the site has been modified. So be careful, the change may be due to a feature added by a lambda user to improve the software, but it may also be due to the presence of viruses added in the software for example.The different hash functions: MD5 (Message Digest 5), MD5 creates a 128-bit imprint? It was a very good algorithm but today it is not recommended to use it for sensitive information. Its use is less and less secure. SHA-1 (Secure Hash Algorithm): SHA-1 creates 160-bit mprint? It is considered more reliable than MD5 but as we said at the beginning of this article, Google has shown that it was possible to produce collisions. It is therefore in the process of depreciation. SHA-256 / SHA-512, much safer but even less rependus, they create respectively 256 and 512 bits footprints. It is now strongly advised to evolve on these functions of hash.How to calculate even a hash? There are different ways to calculate the imprint of an object yourself to verify it with the official imprint.The first way is to write your own algorithm, based on the different functions used today on the Internet. This method will require a good knowledge of mathematics and computer science.A second method is to use software that calculates the hash of an object passed as a parameter.For example, it is possible to use: HashTab (available on Mac and Windows) or File Checksum Utility. HashTab being free only for personal use as well as for students.Once installed, to use HashTab, just right click on a file and select the option: “Hachages” and then choose the algorithm you want to use.So this article comes to an end, if you want to react, ask a question, or just leave your comment, do not hesitate, we will be glad to answer them.