I came across this excellent video, explaining how the SHA-256 algorithm works internally. I had always been excited to understand how a real-world hashing algorithm works internally. SHA-256 is one of the most popular hashing algorithms, so after getting my hands on that video, I knew I had to try and implement this on my own. This feels like once in a lifetime opportunity. So here I am after having implemented the algorithm on my own and feeling confident understanding how SHA-256 works. I want to pass on that same confidence to the readers of this blog (probably including me in a few months :D) along with code snippets. So, lets dive right into it... Basic Operations There are some basic operations that the SHA-256 algorithm builds on top of. Here is a list of those: 1. Shift Right - Shifts the bits of the original number pos bits to the right, dropping of things that slide of the end. 2. Rotate Right - Rotates pos bits in the original number. Very similar to shift but instead o