I think you are on the right path in approaching this problem in two steps.
First, you should probably stick with the md5 hash to fulfill your "difficult to reverse" requirement.
Second, you could take the md5 output as input to your "convert this to an integer" function.
for the second part, what are you going after exactly? Does it have to be an integer? Or just printable characters? if you are just looking to convert your hash into something you can store in a database, transmit over the wire, or some other reason the md5 string won't do, the convertuuencode function might work for you: http://us.php.net/manual/en/function.convert-uuencode.php
Another roundabout hackish approach would be to get the binary value of your hash, and convert it to a decimal using: http://us.php.net/manual/en/function.bindec.php although, i've never tried this and am not sure if it would work like you want it to.