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);
}