Version 0.1.1

This commit is contained in:
Caileb 2025-05-28 22:30:59 -05:00
parent ef7473a29e
commit edd1873f68
4 changed files with 18 additions and 14 deletions

2
Cargo.lock generated
View file

@ -83,7 +83,7 @@ dependencies = [
[[package]]
name = "rs-random"
version = "0.1.0"
version = "0.1.1"
dependencies = [
"rand",
]

View file

@ -1,6 +1,6 @@
[package]
name = "rs-random"
version = "0.1.0"
version = "0.1.1"
edition = "2024"
[dependencies]

View file

@ -7,9 +7,9 @@ A minimal, blazing-fast Rust command-line tool for generating secure random stri
## Features
- Uses operating system entropy (`OsRng`) for cryptographically secure randomness
- Very small binary size (optimized release profile)
- Minimal dependencies (only the `rand` crate with `std_rng` and `getrandom` features)
- Flexible selection of character sets, including alphabets, numbers, symbols, and more
- Very small binary size
- Minimal dependencies
## About
@ -17,6 +17,10 @@ I created `rs-random` to have a super simple, minimal way to generate secure str
## Installation
### Windows
Download the latest Windows executable from the [releases page](https://git.caileb.com/Caileb/rs-random/releases).
### From Source
```bash
@ -30,14 +34,14 @@ cargo build --release
```bash
rs-random [LENGTH]
rs-random -l <LENGTH> [-s <SETS>] [-c <COUNT>]
rs-random -h | --help
rs-random -h
```
- `LENGTH` &lt;number&gt;: Length of each string (default: `16`)
- `-l, --length <LENGTH>`: Specify the string length
- `-s, --sets <SETS>`: Comma-separated list of character sets to include (default: `lowercase,uppercase,numbers,special-safe`)
- `-c, --count <COUNT>`: Number of strings to generate (default: `1`)
- `-h, --help`: Show help information
- `-l <LENGTH>`: Specify the string length
- `-s <SETS>`: Comma-separated list of character sets to include (default: `lowercase,uppercase,numbers,special-safe`)
- `-c <COUNT>`: Number of strings to generate (default: `1`)
- `-h`: Show help information
### Available Character Sets

View file

@ -21,7 +21,7 @@ fn print_help() {
println!("Usage:");
println!(" rs-random [LENGTH] (uses safe defaults)");
println!(" rs-random -l <LEN> [-s <SETS>] [-c <COUNT>]");
println!(" rs-random -h | --help\n");
println!(" rs-random -h\n");
println!("Available sets (for -s, comma-separated):");
for &(name, _, desc) in &CHARACTER_SETS {
println!(" {:<15} - {}", name, desc);
@ -68,7 +68,7 @@ fn generate_random_string(chars: &[char], length: usize) -> String {
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() < 2 || args.contains(&"-h".to_string()) || args.contains(&"--help".to_string()) {
if args.len() < 2 || args.contains(&"-h".to_string()) {
print_help();
return;
}
@ -80,7 +80,7 @@ fn main() {
let mut i = 1;
while i < args.len() {
match args[i].as_str() {
"-l" | "--length" => {
"-l" => {
if i + 1 < args.len() {
if let Ok(n) = args[i + 1].parse::<usize>() {
length = n;
@ -94,7 +94,7 @@ fn main() {
process::exit(1);
}
}
"-s" | "--sets" => {
"-s" => {
if i + 1 < args.len() {
sets = &args[i + 1];
i += 2;
@ -103,7 +103,7 @@ fn main() {
process::exit(1);
}
}
"-c" | "--count" => {
"-c" => {
if i + 1 < args.len() {
if let Ok(n) = args[i + 1].parse::<usize>() {
count = n;