Re[9]: Уникальное число
От: Centaur Россия  
Дата: 15.07.08 15:08
Оценка:
Здравствуйте, ., Вы писали:

>> если имеем белый шум на входе, то мы его имеем и на выходе. Так в чем

>> недостаток моего метода? Хотелось бы увидеть нормальные аргументы, а не
.>Он смысла не имеет. Проще взять просто первые 12 разрядов гуида и никаких ксоров не надо.

Этого нельзя делать, потому что GUID состоит из четырёх полей, каждое из которых по отдельности не гарантирует уникальности:
12 десятичных разрядов — это, как тут уже считали, около 40 двоичных. Если их брать из времени, получается неплохая вероятность получить одинаковые значения для двух последовательных вызовов. Если из идентификатора сетевой карты — они вообще всегда будут одинаковые. Уникализатор же один раз инициализируется случайным числом и далее инкрементируется последовательно только при переводе часов назад.
Re[10]: Уникальное число
От: . Великобритания  
Дата: 15.07.08 15:49
Оценка: -1
Centaur wrote:

> Этого нельзя делать, потому что GUID состоит из четырёх полей, каждое из

> которых по отдельности не гарантирует уникальности
> <http://blogs.msdn.com/oldnewthing/archive/2008/06/27/8659071.aspx&gt;:
Это верно для UUID algorithm 1, который давно уж не используется.

Просто рассчитывать на то, что xor как-то поможет — не стоит. Если хватит "абы как случайное число", то достаточно взять первые n разрядов. Если же нужно "чтобы никто не смог угадать", то надо взять криптографически стойкий генератор случайных чисел. xor даёт лишь False Sense of Confidence.
Posted via RSDN NNTP Server 2.1 beta
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.