Вы хотите преобразовать целое число в другую базу, в которой используется полный алфавит. Base64 может работать, но вы получите строки, которые длиннее исходного целого числа, потому что функция base64_encode () принимает строку, а не целое число.
Я бы предложил использовать функцию base_convert () следующим образом:
$id = 12834233;
$hash = base_convert($id, 10, 36);
и наоборот
$hash = '7n2yh'
$id = base_convert($hash, 36, 10);
Однако при этом будут использоваться только строчные буквы a-z и 0-9. Если вы хотите использовать все заглавные и строчные буквы, вам нужно преобразовать в основание 62 (или выше, если вы используете символы). Однако для этого вам придется написать собственный код.
Редактировать : Гордон указал на эту замечательную ссылку на кодировку base62 в php.