uniform RNG
Issue #9881 - Randomness in UUID generation is insufficient
Warning: This function must not be used for cryptographic purposes. UUIDs generated by this function do not have sufficient randomness for all use cases. This especially applies to the overload that accepts a caller-provided RNG. At the moment, Phobos does not provide a cryptographically-secure pseudo-random number generator (CSPRNG) that could be supplied to this function.
While the function overload with no parameters will attempt to use the system CSPRNG where available and implemented, there are no guarantees. See std.random.unpredictableSeed for details.
import std.random : Xorshift192, unpredictableSeed; //simple call auto uuid = randomUUID(); //provide a custom RNG. Must be seeded manually. Xorshift192 gen; gen.seed(unpredictableSeed); auto uuid3 = randomUUID(gen);
This function generates a random number based UUID from a random number generator.
This function is not supported at compile time.