Hashing algorithms are used all over the internet and in cryptography. They are used to secure sensitive data like passwords, because they have some very useful attributes which make them the foundation of cryptography. Hashing algorithms are a one way function. A function is essentially a process with an input and an output. If you put 5 into a function and get 10 out, the function was likely to be x2 or +5. A hashing algorithm is a one way function because you can put a message into it, sign it with private/public key sets, and get out a non-reversible output. In cryptography, we use our private keys to verify transactions. If someone else knows your private key, then they can sign transactions that look like they are coming from you. At a very high level, a hashing algorithm is a function of which you can see both the public keys and the output, and it is impossible to determine the sender’s private keys. In the Bitcoin network, the Elliptic Curve Digital Signature Algorithm is used to produce a signature from public/private keys, and the SHA256 algorithm is used by miners to compete for the right to add blocks to the chain.