vlad_2007
Новичок
Уникальный идентификатор
Добрый день.
После долгих поисков решил спросить. Нужно сгенерировать короткий уникальный хеш код по типу
http://www.youtube.com/watch?v=SpCDtn6_9KU SpCDtn6_9KU
Длина не должна превышать 15 символов.
Проверки сгенерированных ранне значений нет.
Есть ли алгоритм, которой с большой долей вероятности генерирует разные значения?
Гдето есть описание алгоритма, который использует youtube.com?
Заранее благодарен.
PS
Я использую вот такую функцию, но есть сомнения в связи с применением функции rand()
Добрый день.
После долгих поисков решил спросить. Нужно сгенерировать короткий уникальный хеш код по типу
http://www.youtube.com/watch?v=SpCDtn6_9KU SpCDtn6_9KU
Длина не должна превышать 15 символов.
Проверки сгенерированных ранне значений нет.
Есть ли алгоритм, которой с большой долей вероятности генерирует разные значения?
Гдето есть описание алгоритма, который использует youtube.com?
Заранее благодарен.
PS
Я использую вот такую функцию, но есть сомнения в связи с применением функции rand()
PHP:
/**
* Genarate hash for object
*
* @param int $number - count of symbols in hash
* @return string hash
*/
function generate_hash($number=URL_HASH_KEY_LENGTH)
{
$arr = array('a','b','c','d','e','f',
'g','h','i','j','k','l',
'm','n','o','p','r','s',
't','u','v','x','y','z',
'A','B','C','D','E','F',
'G','H','I','J','K','L',
'M','N','O','P','R','S',
'T','U','V','X','Y','Z',
'1','2','3','4','5','6',
'7','8','9','0','.','q',
'-','_','Q');
$hash = "";
$count=count($arr)-1;
for($i = 0; $i < $number; $i++)
{
$index = mt_rand(0, $count);
$hash .= $arr[$index];
}
return $hash;
}