- Rust 82%
- Nix 18%
| .github/workflows | ||
| src | ||
| .envrc | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| default.nix | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| shell.nix | ||
vanissh
Vanity SSH public key finder. Specify a pattern (e.g. hello), and this tool
will generate random ed25519 SSH key pairs, until this pattern is found in the
base64-encoded SSH public key.
vanissh uses the maximum degree of parallelism to find your desired keypair as quickly as possible.
About Vanity Keys
A vanity SSH key is a keypair where the base64-encoded public key contains a specific substring of your choice. This makes your public key more recognizable and memorable, though it provides no additional security.
Performance Considerations
The time required to find a matching keypair grows exponentially with pattern length:
- 5 characters (case-insensitive): ~10-60 seconds
- 6 characters (case-insensitive): ~5-15 minutes
- 5 characters (case-sensitive): ~5-30 minutes
- 6 characters (case-sensitive): ~5-16 hours
Actual time depends on your CPU cores and generation speed (typically 60k-170k keys/sec per core).
Usage
Usage: vanissh [OPTIONS] <PATTERN>
Arguments:
<PATTERN>
The pattern to search for. On completion, vanissh will return an ed25519 SSH keypair, where pattern is a substring of the public key
Options:
-c, --case-sensitive
Whether to make the pattern search case-sensitive. Note, that this will exponentially increase the search time by a factor of 2 * `length_of(pattern)`
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
The resulting key pair is placed in a folder found-keys/, relative to the
directory in which you executed vanissh.