Is there a way to take any number, from say, 1 to 40000 and generate an 8 character hash?
I was thinking of using base_convert
but couldn't figure out a way to force it to be an 8 character hash.
Any help would be appreciated!
Why don't you just run md5
and take the first 8 characters?
Because you are wanting a hash, it doesn't matter whether portions are discarded, but rather that the same input will produce the same hash.
$hash = substr(md5($num), 0, 8);
>>> math.exp(math.log(40000)/8)
3.7606030930863934
Therefore you need 4 digit-symbols to produce a 8-character hash from 40000:
sprintf("%08s", base_convert($n, 10, 4))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With