Альтернатива GUID
От: Disappear  
Дата: 22.04.05 17:59
Оценка:
Не подскажете ли алгоритм, который бы генерировал уникальные (в ближайшие лет 100) числа? Например, как это делает CoCreateGUID. Только хочется, что-нибудь отличное от GUID.
Re: Альтернатива GUID
От: Alex Alexandrov США  
Дата: 22.04.05 20:15
Оценка:
Здравствуйте, Disappear, Вы писали:

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


Чем конкретно не устраивает GUID?
[ Posted via RSDN@Home 1.1.4 beta 5 (395) listening to silent ]
It's kind of fun to do the impossible (Walt Disney)
Re[2]: Альтернатива GUID
От: Disappear  
Дата: 23.04.05 07:07
Оценка:
Здравствуйте, Alex Alexandrov, Вы писали:

AA>Здравствуйте, Disappear, Вы писали:


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


AA>Чем конкретно не устраивает GUID?


А всем вроде устраивает. Просто интересно, может существуют подобные алгоритмы.
Re: Альтернатива GUID
От: wildwind Россия  
Дата: 23.04.05 08:15
Оценка:
Здравствуйте, Disappear, Вы писали:

D>Только хочется, что-нибудь отличное от GUID.


Сгенерируй GUID и сделай с ним что-нибудь. Переставь байты например.
Re[2]: Альтернатива GUID
От: Disappear  
Дата: 23.04.05 09:20
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, Disappear, Вы писали:


D>>Только хочется, что-нибудь отличное от GUID.


W>Сгенерируй GUID и сделай с ним что-нибудь. Переставь байты например.


Безпонтово
Re[3]: Альтернатива GUID
От: sugarde  
Дата: 23.04.05 09:57
Оценка:
Здравствуйте, Disappear, Вы писали:

Генератор случайных чисел?
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.
Re[4]: Альтернатива GUID
От: Disappear  
Дата: 23.04.05 10:16
Оценка:
Здравствуйте, sugarde, Вы писали:

S>Здравствуйте, Disappear, Вы писали:


S>Генератор случайных чисел?


Дык ведь повторяются.
Re[5]: Альтернатива GUID
От: sugarde  
Дата: 23.04.05 10:42
Оценка:
Здравствуйте, Disappear, Вы писали:

D>Дык ведь повторяются.

Не понял. Если они высокого качества, то вероятность совпадения двух длинных случайных чисел равна нулю.
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.
Re[6]: Альтернатива GUID
От: sugarde  
Дата: 23.04.05 10:43
Оценка:
Здравствуйте, sugarde, Вы писали:

Нет. Бред, не равна нулю, но стремится к нему.
В жизни кaждoгo челoвекa бывaют приятные мoменты, кoгдa oн чувствует себя пoлным идиoтoм. Приятнoсть этих мoментoв в пoстижении истины.
Re[7]: Альтернатива GUID
От: Disappear  
Дата: 23.04.05 20:27
Оценка:
Здравствуйте, sugarde, Вы писали:

S>Здравствуйте, sugarde, Вы писали:


S>Нет. Бред, не равна нулю, но стремится к нему.


Да, кажется что-то подобное писал Кнут ...
но нет ли все-таки какого либо испробованного алгоритма, который устремляет эту вероятность к 0 ?
Или хотябы какого порядка должны быть эти качественные случайные числа, чтобы устремить эту вероятность куда надо?
Re[5]: Альтернатива GUID
От: nen777w  
Дата: 25.04.05 09:31
Оценка:
S>>Генератор случайных чисел?
D> Дык ведь повторяются.

Случайные числа получаемые из шумов/сигнала в Aux-е твоей звуковой
карты. Очень даже хороший генератор.
Posted via RSDN NNTP Server 1.9
Re[6]: Альтернатива GUID
От: Disappear  
Дата: 25.04.05 09:35
Оценка:
Здравствуйте, nen777w, Вы писали:

S>>>Генератор случайных чисел?

D>> Дык ведь повторяются.

N>Случайные числа получаемые из шумов/сигнала в Aux-е твоей звуковой

N>карты. Очень даже хороший генератор.

А если на компе нет звуковой карты. Например это глухонимой безвидяшный сервер.
Re[8]: Альтернатива GUID
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 25.04.05 09:45
Оценка:
Здравствуйте, Disappear, Вы писали:

D>Да, кажется что-то подобное писал Кнут ...

D>но нет ли все-таки какого либо испробованного алгоритма, который устремляет эту вероятность к 0 ?
D>Или хотябы какого порядка должны быть эти качественные случайные числа, чтобы устремить эту вероятность куда надо?
Насколько я помню, в GUID используется время, номер сетевой карты или случайное число.
Умноженная вероятность совпадения некого случайного числа по любому алгоритму и его одновременного создания с точностью до милисекунды.
( правда в генераторах случайных чисел тоже использется время) достаточно мала.
Опять же чем длиннее число тем вероятность меньше.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
и солнце б утром не вставало, когда бы не было меня
Re[7]: Альтернатива GUID
От: nen777w  
Дата: 25.04.05 10:37
Оценка:
D> А если на компе нет звуковой карты. Например это глухонимой безвидяшный сервер.

Записать этот шум в WAVE файл и выбирать оттуда, файлов много можно
сделать, можно ещё сворачивать шум с шумом.
Извращение, и не совсем случайно, но шо делать в таком сл.
Posted via RSDN NNTP Server 1.9
Re[2]: Альтернатива GUID
От: Andrew_B  
Дата: 28.04.05 12:04
Оценка:
делали как-то репликацию двух баз mssql,там uniqueidentifier-ы совпали
Re[7]: Альтернатива GUID
От: kost-BebiX Украина http://fedorastones.blogspot.com
Дата: 28.04.05 13:46
Оценка:
Здравствуйте, Disappear, Вы писали:

D>Здравствуйте, nen777w, Вы писали:


S>>>>Генератор случайных чисел?

D>>> Дык ведь повторяются.

N>>Случайные числа получаемые из шумов/сигнала в Aux-е твоей звуковой

N>>карты. Очень даже хороший генератор.

D>А если на компе нет звуковой карты. Например это глухонимой безвидяшный сервер.


А если на машине нет сетевухи, то GUID использует таймер. Можно что-то в этом роде. Просто звук — еще надежнее, чем таймер.
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Re[8]: Альтернатива GUID
От: GlebZ Россия  
Дата: 28.04.05 15:56
Оценка:
Здравствуйте, kost-BebiX, Вы писали:

KB>Здравствуйте, Disappear, Вы писали:


D>>Здравствуйте, nen777w, Вы писали:


S>>>>>Генератор случайных чисел?

D>>>> Дык ведь повторяются.

N>>>Случайные числа получаемые из шумов/сигнала в Aux-е твоей звуковой

N>>>карты. Очень даже хороший генератор.

D>>А если на компе нет звуковой карты. Например это глухонимой безвидяшный сервер.


KB>А если на машине нет сетевухи, то GUID использует таймер. Можно что-то в этом роде. Просто звук — еще надежнее, чем таймер.

Почему? У тебя есть статистика по распределению цифр в зависимости от шумов?

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[6]: Альтернатива GUID
От: GlebZ Россия  
Дата: 28.04.05 16:17
Оценка: +1
Здравствуйте, nen777w, Вы писали:

N>Случайные числа получаемые из шумов/сигнала в Aux-е твоей звуковой

N>карты. Очень даже хороший генератор.
Охотно верю что это хороший генератор. Только не уверен что он может давать абсолютную уникальность.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[3]: Альтернатива GUID
От: Alex Alexandrov США  
Дата: 07.05.05 14:06
Оценка:
Здравствуйте, Andrew_B, Вы писали:

A_B>делали как-то репликацию двух баз mssql,там uniqueidentifier-ы совпали


Интересно. Я не большой знаток в области генерации GUID-ов, но был уверен, что это невозможно. Основными элементами уникальности, насколько я знаю, являются MAC-адрес сетевой карты и показания системных часов. Неужели реплицируемые без ethernet-а были?
[ Posted via RSDN@Home 1.1.4 beta 5 (395) listening to silent ]
It's kind of fun to do the impossible (Walt Disney)
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...
Пока на собственное сообщение не было ответов, его можно удалить.