smartpasslib

Smart Passwords Library for Rust

Cryptographic password generation and management without storage. Cross-platform deterministic passwords for Rust applications.


Smart Passwords Library: Cryptographic password generation and management without storage. Generate passwords from secrets, verify knowledge without exposure.

Cross-Platform Determinism: Same secret + same parameters = identical password on Rust, C#, Python, Kotlin, Go, JavaScript.

Decentralized by Design: No cloud, no database, no trust required.

No External Dependencies — Pure Rust, uses standard crypto.

  • Zero-Storage Security — No passwords or secret phrases are ever stored or transmitted
  • Decentralized Architecture — No central servers, no cloud dependency
  • Cross-Platform Deterministic Generation — SHA-256 based, identical across languages
  • Metadata Only — Store only public keys and descriptions
  • On-Demand Regeneration — Passwords are recalculated when needed
  • Cryptographically Secure — Uses SHA-256 and rand crate

  • Decentralized & Serverless — No central database, no cloud lock-in
  • Smart Password Generation — Deterministic from secret phrase
  • Public/Private Key System — 15-30 iterations for private key, 45-60 for public key (dynamic per secret)
  • Secret Verification — Verify secret without exposing it
  • Random Password Generation — Cryptographically secure random passwords
  • Authentication Codes — Short codes for 2FA/MFA (4-100 chars)
  • Metadata Manager — Store and manage password metadata locally
  • No External Dependencies — Pure Rust, uses standard crypto

  • Proof of Knowledge — Public keys verify secrets without exposing them
  • Decentralized Trust — No third party needed — you control your secrets completely
  • Deterministic Security — Same input = same output, always reproducible across platforms
  • Dynamic Iteration Counts — Private key uses 15-30 iterations, public key uses 45-60 iterations (deterministic per secret)
  • No Vulnerable Metadata Storage — Only public keys and descriptions can be stored (optional)
  • Zero Storage of Secrets — Secret phrases exist only in your memory, private keys are derived on-demand and never persisted
  • No Recovery Backdoors — Lost secret = permanently lost passwords (by design)

  • Pointer-Based Security Paradigm10.5281/zenodo.17204738
    Architectural Shift from Data Protection to Data Non-Existence
  • Local Data Regeneration Paradigm10.5281/zenodo.17264327
    Ontological Shift from Data Transmission to Synchronous State Discovery

Key derivation (same as Python/JS/Kotlin/Go/C# versions v4.0.0):

Key TypeIterationsPurpose
Private Key15-30 (dynamic)Password generation (never stored, never transmitted)
Public Key45-60 (dynamic)Verification (stored locally)

Character Set:

!@#$%^&*()_+-=[]{};:,.<>?/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz

Validation Rules:

  • Secret phrase: minimum 12 characters
  • Password length: 12-100 characters
  • Code length: 4-100 characters

Add to your Cargo.toml:

[dependencies]
smartpasslib = "4.0"

Generate Smart Password:

use smartpasslib::generate_smart_password_sync;

let secret = "MyStrongSecretPhrase2026!";
let password = generate_smart_password_sync(secret, 16).unwrap();
println!("{}", password);

Generate Public/Private Keys:

use smartpasslib::{generate_private_key, generate_public_key};

let secret = "MyStrongSecretPhrase2026!";

let public_key = generate_public_key(secret).unwrap();
let private_key = generate_private_key(secret).unwrap();

Verify Secret:

use smartpasslib::{generate_public_key, verify_secret};

let secret = "MyStrongSecretPhrase2026!";
let stored_public_key = "...";

let is_valid = verify_secret(secret, &stored_public_key).unwrap();

Generate Random:

use smartpasslib::{generate_strong_password, generate_code};

let strong = generate_strong_password(20).unwrap();
let code = generate_code(8).unwrap();

Metadata Manager:

use smartpasslib::{SmartPasswordManager, SmartPassword};

let mut manager = SmartPasswordManager::new().unwrap();

let sp = SmartPassword::new(public_key, "GitHub".to_string(), 16).unwrap();
manager.add(sp).unwrap();

let retrieved = manager.get(&public_key).unwrap();
manager.delete(&public_key).unwrap();

Constants:

ConstantTypeDescription
VERSION&strLibrary version (4.0.0)
CHARS&strCharacter set used for generation

Functions:

FunctionParametersReturnsDescription
generate_private_key(secret)secret: &strResult<String, Error>Private key (15-30 iterations)
generate_public_key(secret)secret: &strResult<String, Error>Public key (45-60 iterations)
verify_secret(secret, public_key)secret, public_keyResult<bool, Error>Verify secret matches public key
generate_smart_password_sync(secret, length)secret, lengthResult<String, Error>Deterministic password
generate_strong_password(length)length: usizeResult<String, Error>Cryptographically random
generate_base_password(length)length: usizeResult<String, Error>Simple random password
generate_code(length)length: usizeResult<String, Error>Short code (4-100 chars)

Classes:

ClassDescription
SmartPasswordMetadata container (public_key, description, length)
SmartPasswordManagerPersistent storage for password metadata (JSON file)

The same deterministic algorithm is available in multiple languages. SmartPassLib Rust produces identical passwords to:

LanguageRepository
Pythonsmartpasslib
JavaScriptsmartpasslib-js
Kotlinsmartpasslib-kotlin
Gosmartpasslib-go
C#smartpasslib-csharp
Rustsmartpasslib (this)

git clone https://github.com/smartlegionlab/smartpasslib-rs
cd smartpasslib-rs

cargo build
cargo test
cargo run --example demo
cargo bench
cargo doc --open

Commands:

  • cargo check — Compilation check
  • cargo test — Run tests
  • cargo run --example demo — Run demo
  • cargo bench — Run benchmarks
  • cargo doc --open — Documentation
  • cargo fmt — Format
  • cargo clippy — Linter

By using this software, you agree to the full disclaimer terms.

Software provided "AS IS" without warranty. You assume all risks.

Full legal disclaimer: See DISCLAIMER.md

License: BSD 3-Clause License

Links


Created by Alexander Suvorov Sr.

Copyright © 2026, Alexander Suvorov. All rights reserved.

Rust Cryptography Zero-Storage Decentralized Cross-Platform SHA-256