core/homeassistant/util/uuid.py

16 lines
471 B
Python
Raw Normal View History

"""Helpers to generate uuids."""
import random
import uuid
def uuid_v1mc_hex() -> str:
"""Generate a uuid1 with a random multicast MAC address.
The uuid1 uses a random multicast MAC address instead of the real MAC address
of the machine without the overhead of calling the getrandom() system call.
This is effectively equivalent to PostgreSQL's uuid_generate_v1mc() function
"""
return uuid.uuid1(node=random.getrandbits(48) | (1 << 40)).hex