Я сделал эту простую хэш-функцию, чтобы создать свой собственный хэш с пользовательскими символами и размером
function simple_hash($str, $size=5, $characters='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ') {
$hash_array = array();
$hash = '';
for($i=0;$i<$size;$i++){
$hash_array[$i]=0;
}
for($s=0;$s<strlen($str);$s++){
for($i=0;$i<$size;$i++){
$hash_array[$i]=($hash_array[$i]+ord($str[$s])+$i+$s+$size)%strlen($characters);
}
}
for($i=0;$i<$size;$i++){
$hash .= $characters[$hash_array[$i]];
}
return $hash;
}
Как использовать:
<?=simple_hash('test')?> // EIMQU
<?=simple_hash('test')?> // EIMQU
<?=simple_hash('test',10)?> // Y26aeimquy
<?=simple_hash('test',10)?> // Y26aeimquy
<?=simple_hash('test',10,'abcdefghijkl')?> // cgkcgkcgkc
<?=simple_hash('test',10,'abcdeABCDE')?> // eDcBaeDcBa
<?=simple_hash('test2')?> // BGLQV
<?=simple_hash('test3')?> // CHMRW
<?=simple_hash('a big string')?> // gsEQ2
<?=simple_hash('Ελληνικά')?> // 0gwM2
<?=simple_hash('Ελληνικα')?> // 5lBR7