In theory, a hash function could be reversed in a way such that you can take the hash and calculate every potential input with a range the input having a data size of 0 through the maximum.
That is not reversing a hash, that is called finding a collision.
Theoretically and practically hash functions (both cryptographically secure and insecure algorithms) are and will always be irreversible.
To put simply if you can reverse the following function and tell me what `a` and `b` were you can also reverse hash functions:
a + b = 10
Hash functions will typically use the modulo operator (the remainder when dividing a number by a particular another number).
A very simple hash function, that can easily be reversed might be one that only accepts integers from 0 through 100, and will output the mod 10 of the input. So the 'hash' of
11 would be 1, and the input of a 'hash' output of 1 could be any of 1, 11, 21, 31, 41, 51, 61, 71, 81, or 91.
Sometimes, businesses will use a simple hash function, similar to the above to store user-provided data, but prior to finding the modulo of the input, they will add a "salt" to the input as a means to prevent the user from being able to arbitrarily creating collisions.
The 'a' + 'b' = 10 formula is not a hash function. A hash function will always take a single input, and will produce the same output every time the same input is used.