generateV4 method

String generateV4()

Generates a random v4 UUID string.

The UUID format is 8-4-4-4-12 hex digits, with the version and variant bits set according to the spec.

Implementation

String generateV4() {
  // Generate variant (y) bits: 8, 9, A, or B
  final int special = 8 + _random.nextInt(4);

  return '${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}-' // 8 hex digits
      '${_bitsDigits(16, 4)}-' // 4 hex digits
      '4${_bitsDigits(12, 3)}-' // '4' + 3 hex digits (version 4)
      '${_printDigits(special, 1)}${_bitsDigits(12, 3)}-' // variant + 3 hex digits
      '${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}${_bitsDigits(16, 4)}'; // 12 hex digits
}