Skip to content

smartlegionlab/SmartPasswordManagerCsharpCli

Repository files navigation

Smart Password Manager CLI (C#) v1.0.4


Terminal-based smart password manager with deterministic password generation. Generate, manage, and retrieve passwords without storing them - all from your command line. Your secret phrase never leaves your device.

Decentralized by Design: Unlike traditional password managers that store encrypted vaults on central servers, Smart Password Manager stores nothing. Your secrets never leave your device. Passwords are regenerated on-demand — no cloud, no database, no trust required.


GitHub top language GitHub license GitHub release GitHub stars GitHub forks


⚠️ Disclaimer

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

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

Full legal disclaimer: See DISCLAIMER.md


Core Principles

  • Zero-Storage Security: No passwords or secret phrases are ever stored or transmitted
  • Decentralized Architecture: No central servers, no cloud dependency, no third-party trust required
  • Deterministic Regeneration: Passwords are recreated identically from your secret phrase
  • Metadata Only: Store only descriptions and verification keys
  • Client-Side Generation: All cryptographic operations happen on your device
  • On-Demand Discovery: Passwords exist only when you generate them

Key Features

  • Decentralized & Serverless: No central database, no cloud lock-in, complete user sovereignty
  • Smart Password Generation: Deterministic from secret phrase
  • Public/Private Key System: 30 iterations for private key, 60 for public key
  • Secret Verification: Verify secret without exposing it
  • Interactive Mode: Menu-driven interface for easy use
  • Command-Line Mode: Scriptable operations for automation
  • Export/Import: Backup and restore your password metadata
  • Cross-Platform: Windows, Linux support
  • Hidden Input: Secret phrase entry with asterisks masking

Security Model

  • Proof of Knowledge: Public keys verify secrets without exposing them
  • Decentralized Trust: No third party needed — you control your secrets completely
  • Deterministic Security: Same secret + length = same password, always
  • Metadata Separation: Non-sensitive data stored in JSON file
  • Local Processing: Secret and password never leave your device
  • No Recovery Backdoors: Lost secret = permanently lost access (by design)

Research Paradigms & Publications


Technical Foundation

Powered by smartpasslib-csharp — C# implementation of deterministic password generation.

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

Key Type Iterations Purpose
Private Key 30 Password generation (never stored, never transmitted)
Public Key 60 Verification (stored locally)

Character Set: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$&*-_

Decentralized Architecture:

  • No central authority required
  • Metadata can be synced via any channel
  • Your security depends only on your secret phrase
  • Works offline — no internet connection required

Download

Pre-built Binaries (no .NET required)

Platform Download
Windows x64 SmartPasswordManagerCsharpCli-win-x64.exe
Linux x64 SmartPasswordManagerCsharpCli-linux-x64

Just download, run in terminal, and start using.

Build from Source

# Clone repository
git clone https://github.com/smartlegionlab/SmartPasswordManagerCsharpCli.git
cd SmartPasswordManagerCsharpCli

# Run directly (requires .NET SDK)
dotnet run --project SmartPasswordManagerCsharpCli/

# Publish single file executable
dotnet publish -c Release -o ./publish

Quick Start

Run the Application

# Windows
SmartPasswordManagerCsharpCli-win-x64.exe

# Linux
./SmartPasswordManagerCsharpCli-linux-x64

Interactive Menu

================================================================================
                           SMART PASSWORD MANAGER CLI
                                Version: v1.0.4
     Storage: /home/user/.config/smart_password_manager/passwords.json
                            Total smart passwords: 0
================================================================================

 MAIN MENU
 1. Add Smart Password
 2. Get Password
 3. List Smart Passwords
 4. Delete Smart Password
 5. Export Data
 6. Import Data
 7. Help
 0. Exit

Select option: 

Command-Line Mode

# Add new password
SmartPasswordManagerCsharpCli add "GitHub Account" 16 "MyStrongSecretPhrase2026!"

# List all passwords
SmartPasswordManagerCsharpCli list

# Get password by index
SmartPasswordManagerCsharpCli get 1

# Delete password by index
SmartPasswordManagerCsharpCli delete 1

# Export all passwords to JSON
SmartPasswordManagerCsharpCli export

# Import passwords from JSON file
SmartPasswordManagerCsharpCli import ./passwords_export.json

# Show help
SmartPasswordManagerCsharpCli help

Storage Locations

Platform Path
Linux ~/.config/smart_password_manager/passwords.json
Windows %USERPROFILE%\.config\smart_password_manager\passwords.json

Export files are saved to ~/SmartPasswordManager/ with timestamp: passwords_export_20260117_143022.json

Security Requirements

Secret Phrase

  • Minimum 12 characters (enforced)
  • Case-sensitive
  • Use mix of: uppercase, lowercase, numbers, symbols, emoji, or Cyrillic
  • Never store digitally
  • NEVER use your password description as secret phrase

Strong Secret Examples

✅ "MyStrongSecretPhrase2026!"   — mixed case + numbers + symbols
✅ "P@ssw0rd!LongSecret"         — special chars + numbers + length
✅ "КотБегемот2026НаДиете"       — Cyrillic + numbers

Weak Secret Examples (avoid)

❌ "GitHub Account"              — using description as secret (weak!)
❌ "password"                    — dictionary word, too short
❌ "1234567890"                  — only digits, too short
❌ "qwerty123"                   — keyboard pattern
❌ Same as description           — never use the same value as password description

Decentralized Nature

There is no "forgot password" button. This is by design:

  • No central server can reset your passwords
  • No support team can recover your access
  • Your secret phrase is the ONLY key

This is the price of true decentralization — you are completely in control.

Cross-Platform Compatibility

Smart Password Manager (C#) CLI produces identical passwords to:

Platform Application
Python CLI CLI PassMan
Python CLI Gen CLI PassGen
Desktop Python Desktop Manager
Desktop C# Desktop C# Manager
Web Web Manager
Android Android Manager

For Developers

Prerequisites

  • .NET 10.0 SDK or later

Build Commands

# Arch Linux
sudo pacman -S dotnet-sdk

# Run
dotnet run --project SmartPasswordManagerCsharpCli/

# Build
dotnet build SmartPasswordManagerCsharpCli/

# Publish single file
# Windows
dotnet publish -c Release -o ./publish-win -p:AssemblyName=SmartPasswordManagerCsharpCli-win-x64 -r win-x64 --self-contained true

# Linux  
dotnet publish -c Release -o ./publish-linux -p:AssemblyName=SmartPasswordManagerCsharpCli-linux-x64 -r linux-x64 --self-contained true

Ecosystem

Core Libraries:

CLI Applications:

Desktop Applications:

Other:

License

BSD 3-Clause License

Copyright (©) 2026, Alexander Suvorov

Author

Alexander Suvorov - GitHub


Support

About

Smart Password Manager (C#) CLI - Terminal-based smart password manager with deterministic password generation. Generate, manage, and retrieve passwords without storing them - all from your command line. Your secret phrase never leaves your device.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages