Files

uuid4.src
  • // Generate a random 4-bit hex digit
  • randHexDigit = function
  • n = floor(rnd * 16)
  • hex = "0123456789abcdef"
  • return hex[n]
  • end function
  • // Generate a random 4-character hex block
  • randHexBlock = function(len)
  • s = ""
  • for i in range(0, len - 1)
  • s = s + randHexDigit()
  • end for
  • return s
  • end function
  • // Entry point
  • generateUUIDv4 = function
  • part1 = randHexBlock(8)
  • part2 = randHexBlock(4)
  • part3 = "4" + randHexBlock(3) // UUID version 4
  • part4 = randHexDigit()
  • part4 = "89ab"[floor(rnd*4)] + randHexBlock(3) // variant bits
  • part5 = randHexBlock(12)
  • return part1 + "-" + part2 + "-" + part3 + "-" + part4 + "-" + part5
  • end function