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