Ответ 1
Так как Windows 2000 Microsoft использует алгоритм версии 4:
В Windows 2000 Microsoft перешла на GUID 4-й версии, поскольку вложение MAC-адреса рассматривалось как угроза безопасности. 1
Вы можете видеть это также из GUID, сгенерированного в .NET(из Wikipedia):
Версии 4 UUID имеют форму xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx с шестнадцатеричными цифрами для x, но только один из 8, 9, A или B для y. например f47ac10b-58cc-4372-a567-0e02b2c3d479.
Версия 4 UUID состоит из 122 значащих бит, что дает 2 ^ 122 различных значений, которые являются очень большим числом. Учитывая набор значений H, ожидаемое количество значений, которое мы должны выбрать, прежде чем находить первое случайное столкновение с вероятностью 50%, можно рассчитать следующим образом (см. День рождения Атака в Википедии):
Результат (день рождения) для 2 ^ 122 разных значений составляет приблизительно 2,89e + 18. Это предполагает, что порожденные значения распределяются случайным образом. Очевидно, что если значения распределены неравномерно, случайное столкновение можно найти быстрее. Для получения дополнительной информации см. Случайная вероятность дублирования UUID.
1 По сути, автор червя Melissa может отслеживать из-за генерируемого GUID используя алгоритм версии 1.