Some of the math steps are non-reversible because of how processes like the XOR works. XOR takes 2 binary values (1 or 0) and compares them. If they are both 1 or both 0, the result is 0. If only a single one is a 1, then it results in a 1. There is no way to determine if input a or input b was 1 for a result of 1 or if both inputs were a 1 or a 0 based on the output 0. So you can’t reconstruct the input from the output.
Also, there are more possible inputs than outputs. A hash produces a set sized output no matter how much data you feed into it. So even if you try to brute force the original data by hashing a bunch of things until you get a matching hash value, there is no way to know if what you fed into the hash algorithm is what was fed into it originally. This is called a hash collision by the way.
Latest Answers