Я хочу создать криптографически безопасный GUID (v4) в .NET.
Функция .NET Guid.NewGuid()
не является криптографически безопасной, но .NET предоставляет класс System.Security.Cryptography.RNGCryptoServiceProvider
.
Я хотел бы иметь возможность передавать функцию случайного числа в качестве делегата в Guid.NewGuid
(или даже передавать некоторый класс, предоставляющий интерфейс генератора), но это не выглядит так, как это возможно при реализации по умолчанию.
Можно ли создать криптографически безопасный GUID с помощью System.GUID
и System.Security.Cryptography.RNGCryptoServiceProvider
вместе?