Implement your own hashing algorithm

In the starter code you will see a simple xor hashing algorithm and an algorithm to find two distinct inputs which hashes to the same value. You are required to modify them using appropriate arithmetic operations.

NOTE: Refer rust docs to learn what all the arithmetic operations available. For example if you want to rotate the bits of an integer there is an associated method for each integer type. Don't have to re-invent everything.

This exercise is meant to improve your understanding of what makes SHA-256 secure.

Refer Chapter 11 of William Stallings - Cryptography and Network Security Principles and Practice, Global Edition-Pearson (2022) book. You will be required to come up with your own version of a "secure" one way hashing algorithm similar to SHA-256.