Most of the code adapted from <https://github.com/pdoms/SHA256-PYTHON>
Home Implementation of Crypto Algorithms