Giter Site home page Giter Site logo

ahmad-alsaleh / password-manager-cli Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 31 KB

A simple command-line interface (CLI) password manager tool developed for a session presented during the Society of Cybersecurity (SOC) Winter Bootcamp for educational purposes. This project provides hands-on experience with Python, CLI app development, file I/O, and basic coding concepts.

Python 100.00%

password-manager-cli's Introduction

Password Manager CLI

A simple command-line interface (CLI) password manager tool that was developed for a session presented during the Society of Cybersecurity (SOC) Winter Boot Camp for educational purposes. This project provides hands-on experience with Python, CLI app development, file I/O, and basic coding concepts. The recordings of the sessions can be found here: Part 1 and Part 2.

Want to get started quickly? Jump to Getting Started!

Features

  • Secure Vaults: Safely store your passwords in encrypted vaults (encryption was given as a self-task for students)
  • Simple Commands: Easy-to-use commands for adding, listing, and retrieving passwords.
  • Colorful Terminal Output: Utilizes the rich library for a visually appealing and user-friendly interface.

Main Topics Covered

  1. CLI App Development
  2. Functions
  3. File I/O
  4. Code Organization
  5. f-strings
  6. Conditional Statements (if statements)

Libraries Used

  1. argparse: To make the CLI app.
  2. os: To operate on files.
  3. rich (optional): Create a colorful terminal output.

Getting Started

Prerequisites

Ensure your system has Python and PIP installed.

Installation

  1. Make a new directory (folder):

    mkdir password-manager
  2. Navigate to the project directory:

    cd password-manager
  3. Clone the repository:

    git clone https://github.com/Ahmad-Alsaleh/Password-Manager-CLI.git
  4. (Optional, but recommended) Make a virtual environment:

    # Windows
    python -m venv venv # creating the virtual environment
    .\venv\Scripts\activate # activating the virtual environment
    # Mac/Linux
    python3 -m venv venv # creating the virtual environment
    source venv/bin/activate # activating the virtual environment
  5. Install dependencies:

    # Windows
    pip install -r requirements.txt
    # Mac/Linux
    pip3 install -r requirements.txt

Usage

IMPORTANT NOTE: if you are using Mac/Linux, replace every python with python3.

Notation

  • Square brackets [VALUE]: what in between is optional.
  • Angular brackets <VALUE>: this is a placeholder. That is, a value must replace it.

General use case

python password_manager.py --vault-name <name> --master-password <password> COMMAND [OPTIONS]

CLI Commands

  • get Retrieve the password for a specified account.

    python password_manager.py --vault-name <name> --master-password <password> get <account-name>
  • add Add a new password to the vault.

    python password_manager.py --vault-name <name> --master-password <password> add <account-name> <password>
  • list List all accounts in the vault (optionally displaying passwords).

    python password_manager.py --vault-name <name> --master-password <password> list [--show-passwords]

Acknowledgments

This project was written during the SOC Winter Boot Camp for educational purposes.

Feel free to contribute and enhance this educational project!

password-manager-cli's People

Contributors

ahmad-alsaleh avatar hamody23 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.