{"id":15295212,"url":"https://github.com/njs-guy/keysmith-rs","last_synced_at":"2026-05-16T00:37:39.682Z","repository":{"id":60947112,"uuid":"545625524","full_name":"njs-guy/keysmith-rs","owner":"njs-guy","description":"Create keys, uuid's, timestamps, and more with Rust.","archived":false,"fork":false,"pushed_at":"2023-08-23T18:19:21.000Z","size":197,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-26T14:44:55.713Z","etag":null,"topics":["database","library","rust","rust-crate","rust-lang","rust-library","rustlang","utilities","utility","utility-library"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/keysmith","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/njs-guy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-10-04T17:47:27.000Z","updated_at":"2023-09-02T17:34:23.000Z","dependencies_parsed_at":"2023-02-12T14:03:20.197Z","dependency_job_id":"9bed12af-6132-4be9-94e6-282066d5451c","html_url":"https://github.com/njs-guy/keysmith-rs","commit_stats":null,"previous_names":["njs-guy/keysmith-rs","njshockey/keysmith-rs"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njs-guy%2Fkeysmith-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njs-guy%2Fkeysmith-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njs-guy%2Fkeysmith-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/njs-guy%2Fkeysmith-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/njs-guy","download_url":"https://codeload.github.com/njs-guy/keysmith-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245330907,"owners_count":20597865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","library","rust","rust-crate","rust-lang","rust-library","rustlang","utilities","utility","utility-library"],"created_at":"2024-09-30T17:09:04.025Z","updated_at":"2025-10-29T17:39:27.262Z","avatar_url":"https://github.com/njs-guy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Keysmith\n\nCreate keys, uuid's, timestamps, and more with Rust.\n\nHere's some example keys:\n\n```text\n5WdT@KfYRyRDqh0AAVUsyitSXbm4OQwzClX9.XYn5kLmKeObCf8YE3HqzHdU3UTS\ng1Y_Zp9-9rDf7VAaR1KGnH9Uf5klGjSQ6P2rAjK35iK-GnZ@dVXYu.aElzTfTOaK\nM3rkxIbrD0lz-SpUBe704X2)Gd(_WprzRJW7N51O@_58180Gs9esIVBO5.OdFOlY\n```\n\nThis looks like gibberish, but that's the point.\nTwo id's in a database should not overlap.\nSo if you need a lot of entries, you need to reduce the odds of that happening.\nIf the odds of two identical id's are astronomically low,\nyou shouldn't even need to check for an existing id in the first place.\nKeysmith does that generation for you and outputs it as a String.\n\nYou can also generate version 4 UUID's.\n\n```text\nbe3b5529-931b-6b75-1678-a057bccf71c9\n440146ab-a19a-8a36-2d4b-ba19a79570d4\n0090da40-6ce2-59d3-629d-11b293c9e2d3\n```\n\nKeysmith also supports many other data formats.\n- Keys strings from custom character sets\n- \"Nonstandard\" V4 UUID's using any letter as opposed to just a-f\n- Timestamps (ex: 50546851)\n- Dates (ex: 2023-07-17), times (ex: 19:34:07), and datetimes (ex: 2023-07-17T19:34:07)\n- Individual characters\n\n## Usage\n\nFor usage, see the [documentation](https://docs.rs/keysmith/latest/keysmith/).\n\nFor installation, see [crates.io](https://crates.io/crates/keysmith).\n\n## Changelog\n\nYou can find the changelog in [CHANGELOG.md](CHANGELOG.md).\n\n## Building\n\n1. Install [rustup](https://www.rust-lang.org/tools/install) if you haven't already.\n2. Clone this repo. Usually with `git clone https://github.com/njshockey/keysmith-rs.git`.\n3. Run `cargo build` or `cargo build --release` to build.\n   - To run the test package, run `cargo run -p usage` instead.\n\n## License\n\nKeysmith uses the Rust standard MIT/Apache-2.0 dual license for best\ncompatibility. See\n[LICENSE-APACHE.txt](LICENSE-APACHE.txt) and [LICENSE-MIT.txt](LICENSE-MIT.txt)\nfor the full licenses.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjs-guy%2Fkeysmith-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnjs-guy%2Fkeysmith-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnjs-guy%2Fkeysmith-rs/lists"}