Generate UUID v6

Generate a reordered time-based UUID v6 with improved sortability for databases.

Code

Utilities
import time
import random
time_greg = int(time.time() * 10_000_000) + 0x01b21dd213814000
time_high = (time_greg >> 28) & 0xffffffff
time_mid = (time_greg >> 12) & 0xffff
time_low = (time_greg & 0xfff) | 0x6000
clock_seq = random.randint(0, 0x3fff) | 0x8000
node = random.randint(0, 0xffffffffffff)
return f'{time_high:08x}-{time_mid:04x}-{time_low:04x}-{clock_seq:04x}-{node:012x}'
Server

More Python Snippets