You can't reverse hashing functions: they are not a form of encryption.
That's why hashes are always the same length regardless of the input length: they throw away information in order to generate a (hopefully) unique value from the input.
Encryption doesn't do that: so the size of encrypted data is both variable and often larger than the input data - it is not possible to create a fixed size output from an encryption function without padding it out to a specified length - and even then if the input exceeds that length, it will still require more space for the encrypted version.
Think about it: suppose your hash is "add them all together and take the remainder when divided by ten" Since there are only 10 possible results - 0 to 9 inclusive - you cannot tell from the result of 7 if the input was 7, 17, [1, 6], [2, 5], Or a massive set of other possible values.
[edit]
I
thought I'd written up something about hash reversing ... and I had:
Decrypting MD5 and SHA: Why You Can't Do It[
^] - clearly, it's based around more complex hashes than yours, but it still applies and covers the "why" better than my comments above.
[/edit]