# A large selection of hash functions on Github

Maciej Czyzewski has collected on Github a collection of source codes for various hashing algorithms : for calculating checksums, non-cryptographic and cryptographic.

In the repository you can find, for example, implementations of CRC / MD5 / GOST 34.311-95 / SHA-3. Each hash function is represented by a source in C and a make-file for its assembly. Algorithms are supposed to be used for training purposes - in real-life projects, it is recommended that you use existing libraries (for example, Crypto ++ for C ++, BouncyCastle for Java, etc.) for security reasons, a list of which is in the repository .

Active work continues on the repository, so in the future it is worth waiting for the collection to be updated.

Github

**Hash Functions Quick Reference**

Hash functions are functions designed to “compress” an arbitrary message or set of data, usually written in the binary alphabet, into some fixed-length bit combination, called convolution. Hash functions have various applications when conducting statistical experiments, when testing logical devices, when constructing algorithms for quick search and checking the integrity of records in databases. The main requirement for hash functions is the uniform distribution of their values with a random choice of argument values.

A cryptographic hash function is any hash function that is cryptographic, that is, satisfying a number of requirements specific to cryptographic applications. In cryptography, hash functions are used to solve the following problems:

- building systems for monitoring the integrity of data during their transmission or storage;

- authentication of the data source.

http://habrahabr.ru/post/93226/

A cryptographic hash function is any hash function that is cryptographic, that is, satisfying a number of requirements specific to cryptographic applications. In cryptography, hash functions are used to solve the following problems:

- building systems for monitoring the integrity of data during their transmission or storage;

- authentication of the data source.

http://habrahabr.ru/post/93226/