to random access you can use base_convert:
function getHash($i)
{
//- allowed Letters
$letters = 'aAbBcCdDeEfFgG';
$len = strlen($letters);
//- convert $i to base of $letters
$i_in_base_of_letter = base_convert($i, 10, $len);
//- replace letters
return strtr($i_in_base_of_letter, '0123456789abcdefghijklmnopqrstuvwxyz', $letters);
}
or manuel if your base is larger then 36 (you have more then 36 Chars)
function getHash($i)
{
//- allowed Letters
$letters = 'aAbBcCdDeEfFgG';
$letters_arr = str_split($letters, 1);
$len = strlen($letters);
$out ='';
if ($i>0)
{
while ($i>0)
{
$r = $i % $len;
$out = $letters_arr[$r] . $out;
$i = floor ($i / $len);
}
return $out;
}
else
{
return $letters_arr[0];
}
}
to iterate you can use:
for($i=0; $i<100; $i++)
{
echo getHash($i) ."\n";
}
this way is not that fast as the brute force methode.
Regards Thomas