Code / Orbit Tools field notes

An Identifier, a Digest and a Password Have Different Jobs

Choose between UUIDs, text hashes, passwords and random selections without treating one output as a substitute for another.

A gold padlock on a keyboard, illustrating secret handling
Photo by Towfiqu barbhuiya on Unsplash · Unsplash License

Name the property you actually need

A value can look complicated without being suitable for its job. A record identifier needs a practical way to distinguish records. A digest represents the bytes of an input for comparison. A password needs to resist guessing in the system that accepts it. A randomly chosen name needs a defined selection pool. Decide which property matters before choosing a tool based on the appearance or length of its output.

Orbit offers UUID Generator, Hash Calculator, Password Generator and Random Picker for these separate tasks. They use browser facilities and local computation, but their outputs are not interchangeable. None of these pages manages accounts, authenticates a user or records an independently auditable draw. Keep the intended use beside the generated value so that the next person does not turn a convenient demonstration into a production contract by assumption.

Use a UUID for identity rather than a description

UUID Generator uses the browser's randomUUID method to create version 4 UUIDs. A batch can contain from one to 1,000 values. Generate three and inspect their familiar hyphenated form. The goal of this check is to confirm the output shape and count, not to prove that collisions are impossible. Random identifiers have a practical collision model, not an absolute guarantee across every possible future generation.

A UUID does not encode a meaningful record title, permission or trustworthy creation history. If an application needs those properties, store them explicitly. Do not grant access solely because a URL contains a hard-to-guess identifier. Authorization is a separate application responsibility. Likewise, do not treat the visible identifier as a secret that can never appear in logs, links or support messages.

A text digest compares exact input bytes

Hash Calculator accepts text and offers SHA-256, SHA-384 and SHA-512. The text is encoded as UTF-8 before hashing, and the result is displayed as hexadecimal. Use the short input abc to compare against a known test vector if you are verifying an integration. For SHA-256 the expected digest begins ba7816bf and ends f20015ad. Check the complete digest when making an actual comparison; matching a short prefix alone is insufficient.

Now add a newline after abc and hash again. The input bytes changed, so the digest changes. This makes hashes useful for exact comparisons while also explaining why visually similar pasted text can disagree. The tool does not upload or hash arbitrary files, and it does not offer HMAC or a password-storage scheme. A fast unsalted digest of a human password is not a substitute for a password hashing design with appropriate work factors and server-side controls.

A generated password still has a destination policy

Password Generator draws from the selected character set using browser cryptographic randomness. It permits lengths from eight to 128 and batches from one to 50. Selecting letters, digits and symbols makes those classes available; it does not guarantee that every output contains at least one member of every class. If the destination imposes that rule, inspect or regenerate rather than assuming the set label proves compliance.

Prefer a length and character set the destination accepts, then store the approved value in an appropriate password manager. The tool is not a vault and does not recover a password after you lose it. Avoid leaving generated secrets in shared screenshots or clipboard history. A random-looking value is useful only if its handling and the destination's authentication controls support the intended protection.

Random selection needs a declared pool

Random Picker can generate integers in a requested range or select from entered names. Integer draws may repeat; a repeated number is not evidence that the generator failed. The names workflow trims entries, removes exact duplicates and selects without replacement. That is a different model from treating every repeated line as an extra ticket. Decide which model is fair for your task before entering the list.

For a small planning exercise, enter three distinct names and ask for two. Check that the result contains two members of the pool without repeating a name. If your source list includes intentional duplicate tickets, this local names mode does not preserve that weighting. It also does not create a public record of the input pool, the time of selection or a reproducible audit trail, so do not present it as a certified prize-draw service.

Keep evidence proportional to the claim

A format check can confirm that a batch contains the requested number of UUIDs. A known digest can confirm one hashing example. A selected name can be checked against the input pool. None of those observations proves an application's overall security. Document the operation you actually performed and avoid extending a small local test into a claim about every account or every future output.

When handing a workflow to another person, specify whether the value is an identifier, comparison digest, secret or selection result. Include the relevant input convention and destination constraints. That small amount of context prevents the most consequential mistakes: using a digest as encryption, a UUID as authorization or a casual random selection as independently verified fairness.

← Browse all field notes Explore the tool index ↗