aegis-password-generator

Crates.ioaegis-password-generator
lib.rsaegis-password-generator
version0.1.1
created_at2025-09-02 21:16:27.985301+00
updated_at2025-12-13 19:36:27.385509+00
descriptionA secure password generation and management library
homepagehttps://github.com/david-tobi-peter/Aegis/tree/main/crates/aegis_password_generator
repositoryhttps://github.com/david-tobi-peter/Aegis
max_upload_size
id1821645
size17,966
David Oluwatobi Peter (david-tobi-peter)

documentation

https://docs.rs/aegis-password-generator

README

aegis-password-generator

A secure, flexible, and highly configurable library for generating strong passwords. This crate is a core component of the Aegis project, designed to be simple, safe, and easy to integrate into any Rust application.

Features Configurable Length: Generate passwords of any specified length.

Customizable Character Sets: Include or exclude uppercase, lowercase, numbers, and symbols.

Strict Requirements: Ensure the generated password contains at least one character from each specified type.

Battle-tested: Comprehensive tests ensure the integrity and security of the generated passwords.

Installation To use the latest version of the package, run cargo add aegis-password-generator

Usage Here is a simple example of how to use the library to generate a password.

use aegis_password_generator::types::PasswordConfig;

fn main() {
  // Configure a password with a length of 16,
  // including all character types.
  let config = PasswordConfig::default()
    .with_length(16)
    .with_uppercase(true)
    .with_lowercase(true)
    .with_numbers(true)
    .with_symbols(true);

  match config.generate() {
    Ok(password) => {
      println!("Generated password: {}", password);
    },
    Err(e) => {
      eprintln!("Error generating password: {}", e);
    }
  }
}

Documentation For full API documentation, please visit the docs.rs page.

License This project is licensed under either of the following licenses, at your option:

Apache License, Version 2.0 (LICENSE-APACHE)

MIT license (LICENSE-MIT)

Commit count: 0

cargo fmt