There are some main types of unique identifiers, each corresponding to a different generation strategy:
serial numbers, assigned incrementally or sequentially, by a central authority or accepted reference.
random numbers, selected from a number space much larger than the maximum (or expected) number of objects to be identified. Although not really unique, some identifiers of this type may be appropriate for identifying objects in many practical applications and are, with informal use of language, still referred to as "unique"
Hash functions: based on the content of the identified object, ensuring that equivalent objects use the same UID.
names or codes allocated using a regime involving multiple (concurrent) issuers of unique identifiers that are each assigned mutually exclusive partitions of a global address space such that the unique identifiers assigned by each issuer in each exclusive address space partition are guaranteed to be globally unique. Examples include (1) the media access control address MAC address uniquely assigned to each individual hardware network interface device produced by the manufacturer of the devices, (2) consumer product bar codes assigned to products using identifiers assigned by manufacturers that participate in GS1 identification standards, and (3) the unique and persistent Legal Entity Identifier assigned to a legal entity by one of the LEI registrars in the Global Legal Entity Identifier System (GLEIS) managed by the Global LEI Foundation (GLEIF).
The above methods can be combined, hierarchically or singly, to create other generation schemes which guarantee uniqueness. In many cases, a single object may have more than one unique identifier, each of which identifies it for a different purpose.