Re: Альтернатива GUID
От: exp_1  
Дата: 07.05.05 18:27
Оценка: 1 (1)
Здравствуйте, Disappear, Вы писали:

D>Не подскажете ли алгоритм, который бы генерировал уникальные (в ближайшие лет 100) числа? Например, как это делает CoCreateGUID. Только хочется, что-нибудь отличное от GUID.


Если скорость не важна, то самое простое – это взять что либо физически случайное из компьютера.
Например показания датчиков (температур, скорости вентиляторов, напряжений), шум звуковой платы, асинхронность генераторов в СМОS и MB.

Я считаю, что очень хороший результат даёт RDTSC in CPU PENTIUM.
Точнее, хорим некоторое время, большее чем время между прерываниями, последовательные результаты RDTSC, затем хорим все биты результата и получаем случайный бит.

За счёт асинхронности современных компьютеров получается очень хороший результат.
Тесты это подтверждают.

Далее, берём таких битов столько, сколько надо, и получаем уверенно уникальный GUID. На 100 лет хватит 64 бит.

Пример с исходником (Генератор паролей) здесь:

http://www.isan.troitsk.ru/~panfilov/Rus/Programs.htm
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.