Hashes are not reversible. They do allow collisions.
So using compression is the best idea. If it does not work, you have to accept that sometimes it's not possible.
What may be possible is to make the string generation shorter ; or split the string and transmit parts one at a time.