Puede utilizar base_convert cambiar hexadecimal en número decimal y viceversa. Si quieres convertir números enteros (como una cadena) a hexadecimal, estás limitado a números de 32 bits o menos que yo creo (PHP_INT_MAX).
php -r 'foreach (hash_algos() as $hash) { echo $hash, "\n", $a = hash($hash, "test"), "\n", $b = base_convert($a, 16, 10), "\n", $c = base_convert($b, 10, 16), "\n", ($c === $a ? "yes" : "no"), "\n\n"; }' > hashes.txt
de las claves disponibles que tenía, estos son los que pude convertir entre decimal y hexadecimal:
adler32
c1015d04
3238092036
c1015d04
yes
crc32
accf8b33
2899282739
accf8b33
yes
crc32b
d87f7e0c
3632233996
d87f7e0c
yes
¿Quieres decir una "buena" de hash como en buena seguridad o como en buena distribución de claves ? El primero generalmente le dará el segundo, pero a un costo comparativamente alto. – RBarryYoung
La siguiente página tiene varias implementaciones de funciones hash de propósito general que son eficientes y exhiben colisiones mínimas: http://partow.net/programming/hashfunctions/index.html –