Uuid.randomUuid constructor

Uuid.randomUuid()

Generates a random UUID (version 4).

Returns:

  • A new random UUID with version 4 and variant 2 (RFC 4122)

Security Properties

  • Uses cryptographically secure random number generator
  • 122 bits of entropy (6 bits reserved for version/variant)
  • Suitable for security-sensitive applications
  • Extremely low collision probability (2^-61 for 1 billion UUIDs)

Performance

  • O(1) generation time
  • Thread-safe concurrent generation
  • No external dependencies or network calls

Example

final uuid1 = Uuid.randomUuid();
final uuid2 = Uuid.randomUuid();
print(uuid1 != uuid2); // true (virtually guaranteed)
print(uuid1.version); // 4

Implementation

factory Uuid.randomUuid() {
  final bytes = _rangeBuilder.generate();

  // Set version (4) and variant (2) bits
  bytes[6] = (bytes[6] & 0x0F) | 0x40; // Version 4
  bytes[8] = (bytes[8] & 0x3F) | 0x80; // Variant 2

  return Uuid._fromBytes(bytes);
}