
Readme in different languages: EN RU
⚙ Passgen-lib
Library for generating cryptographically secure passwords/tokens and other sets and sequences.
CSPRNGs Isaac64Rng and Hc128Rng are used.

Usage
Include library to your project Cargo.toml:
[]
= "1.3.0"
You can create a token that includes lowercase letters and numbers up to 30 characters long:
use Passgen;
let result = new.set_enabled_letters.set_enabled_numbers.generate;
You can create a default strong password including all literals, numbers and symbols:
use Passgen;
let result = default.generate;
You can create a strong and usability password with 8 characters long. Including all characters, but the first position in the password is a capital or small letter, the last position is the symbol.
🔸 Excluded ambiguous characters "0oOiIlL1".
use Passgen;
let result = default_strong_and_usab.generate;
You can create a set from your custom charset 12 characters long:
use Passgen;
let result = new.set_custom_charset.generate;
You can validate the existing password against the added rules:
use Passgen;
let mut generator = default;
generator.set_enabled_letters.set_enabled_numbers;
generator.set_password;
assert!;
You can get password strength score:
use Passgen;
let mut generator = default;
generator.set_password;
let score = generator.password_strength_score;
assert!;
You can get password strength level in multiple languages:
use Passgen;
use ;
let mut generator = default;
generator.set_password;
// English (default)
assert_eq!;
// Russian
generator.set_language;
assert_eq!;
// Spanish
generator.set_language;
assert_eq!;
You can generate password and immediately get its strength score:
use Passgen;
let mut generator = default;
let password = generator.generate;
// The generated password is stored in the password field
assert_eq!;
// You can immediately get the strength score
let score = generator.password_strength_score;
assert!;
Supported languages for displaying strength level descriptions:
🔸English (default) 🔸Chinese (简体中文) 🔸Spanish (Español) 🔸Hindi (हिन्दी) 🔸Arabic (العربية) 🔸Portuguese (Português) 🔸Bengali (বাংলা) 🔸Russian (Русский) 🔸Japanese (日本語) 🔸Punjabi (ਪੰਜਾਬੀ) 🔸German (Deutsch) 🔸Korean (한국어) 🔸French (Français) 🔸Turkish (Türkçe) 🔸Italian (Italiano)