A hash algorithm is a mathematical function that converts inputs (key) into an output (hash value). The input has a huge variety of length. On the contrary, the output has a fixed length. In the case of SHA-256, the output is 256 bits. Using a hash function is very practical, as it can prove that the actual content of the input is not changed through a process called “check sum”. This can be done because for every different input the hash function computes a unique hash value. For example, if the hash value is known and transmitted to a customer, the customer can also calculate the hash value of the input, and the hash value should be identical to the original one (check sum). If the hash value is not identical, the customer knows that the input, which was delivered to him or her, has been changed. The interesting thing about a hash is that it functions only one way, so it is very hard to transfer the hash back into the key.