# UUID V5 Generator > Generate deterministic UUIDs using a namespace identifier and a name string (SHA-1 hashing). **Category:** Dev **Keywords:** uuid, v5, generator, hash, namespace, deterministic, guid **URL:** https://complete.tools/uuid-v5 ## How it works The tool calculates a version 5 UUID by first hashing the combination of the namespace and the name using the SHA-1 hashing algorithm. The resulting hash is then formatted according to the UUID standard, specifically ensuring the version number is set to 5. This involves manipulating specific bits of the hash to designate it as a version 5 UUID, and finally, it is structured into the standard UUID format, which includes hyphens separating specific sections of the identifier. ## Who should use this Software developers designing distributed applications requiring unique identifiers, database administrators needing consistent keys for entity records, and systems architects implementing UUIDs for API request tracking. ## Worked examples Example 1: To generate a UUID for a user account with namespace '123e4567-e89b-12d3-a456-426614174000' and name 'john.doe@example.com', first, the SHA-1 hash is computed for the concatenation of the namespace and name. This results in a hash of 'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0'. The version 5 UUID generated from this hash would be '123e4567-e89b-12d3-a456-426614174001'. Example 2: For a product identifier with namespace '123e4567-e89b-12d3-a456-426614174000' and name 'widget-001', after hashing, the UUID produced might be '123e4567-e89b-12d3-a456-426614174002'. Both UUIDs will be consistent for the same namespace and name. ## Limitations This tool has several limitations. First, it relies on the SHA-1 hashing algorithm, which, while still widely used, is not considered the most secure due to vulnerabilities that may arise over time. Second, the uniqueness of the generated UUIDs is contingent on the uniqueness of the namespace and name inputs; collisions can occur if the same inputs are used in different contexts without care. Additionally, since the output is deterministic, if the same inputs are reused, the same UUID will be produced, which may not be desirable in all scenarios. Lastly, the tool does not handle input validation for the namespace format, which must be a valid UUID. ## FAQs **Q:** How does the namespace affect the UUID generation process? **A:** The namespace serves as a unique identifier that, when combined with the name, influences the resulting UUID. Different namespaces will produce different UUIDs for the same name. **Q:** Can the output format of the UUID be customized? **A:** No, the output format follows the standard UUID layout, which consists of a 32-character hexadecimal string formatted into five groups separated by hyphens. **Q:** What happens if I use an invalid namespace? **A:** The tool does not validate the namespace format; thus, using an invalid format may lead to unexpected results or errors in UUID generation. **Q:** Is it possible to reverse-engineer a UUID to find the original namespace and name? **A:** No, UUIDs generated through this method cannot be reverse-engineered back to their original inputs due to the one-way nature of the SHA-1 hashing process. --- *Generated from [complete.tools/uuid-v5](https://complete.tools/uuid-v5)*