>>>>>All, привет. Не подскажешь, как научиться генерировать random число на 128 бит >>>>>в своей програмке на C++? Да так, чтоб оно не за >>>>>что не повторялось... >> >>Так тебе случайное или уникальное? >> >>>>>Мож кусочек когда, или ман... кто чем может :) >>>>> >>>> >>>>/dev/(u)random? >>>>Либо если программно - завести какой-нибудь счетчик, брать его, время(ms), ии..md5-ый хэш >>>>еще никто не отменял, например...Правда, не факт, что будет равномерная псевдослучайная >>>>последовательность.... >>> >>>Я незнаю что такое md5-ый хэш. И как мне это сделать так, >>>чтоб генерилось 128 битное число??? Нифига не понимаю >> >>128 бит = unsigned char buf[16]; >>Дальше заполняй буфер случайностью... >> >>man rand() or rand_or() >>man srand() >>/dev/(u)random опять же простаивает... >> >>ЗЫ: Генирить можно псевдослучайные числа, для реально случайных нужен сертиф. ГСЧ :) >> >> >>ЗЫ2: Есть еще неожиданное число... :) > >приемлимый алгоритм получения длинных `хороших` псевдослучайных чисел - >сгенерить массив `плохих` псевдослучайных чисел, потом зашифровать. >Это когда важна не скорость, а качество:) > >Чем шифровать можно взять из mcrypt. > >Ну в общем думаю стоит объяснить смысл моих поисков. Мне просто напросто нужно идентифицировать множество соединений... Т.е. есть сервер, который будет раздавать уникальные id (128-битные) каждому новому соединению. Естественно критично чтобы ID не повторялись, так же важно что бы в их генерации небыло системы. Вот. Если честно, и немного стыдно за это, не совсем врубаюсь в смысл 128-битного числа random'а. 128 бит это получается что 16 цифр? Сори, но можно пояснить и это если конечно не сложно...
|