DEV Community

Cover image for PassCrypt: A CLI based Password Manager
Tejus Gupta
Tejus Gupta

Posted on

PassCrypt: A CLI based Password Manager

Announcing PassCrypt: Your Ultimate CLI Tool for Secure Password Management

Hello Dev.to community!

I'm excited to announce the launch of PassCrypt, a comprehensive command-line tool designed to securely store, manage, and access your passwords. Built with Python, PassCrypt leverages advanced encryption techniques to ensure your data remains safe and private. Here's a closer look at what PassCrypt has to offer and how you can get started.

Why PassCrypt?

In today's digital age, managing multiple strong passwords is a significant challenge for developers and tech enthusiasts. Reusing passwords or storing them insecurely can lead to security breaches and unauthorized access. PassCrypt addresses these issues by providing a secure, efficient, and user-friendly way to manage your passwords from the command line.

Key Features

🔒 Secure Storage

PassCrypt utilizes Fernet symmetric encryption to securely store your passwords. This ensures that your data is safe from unauthorized access.

🛠 Password Generation

Generate strong, context-aware passwords to enhance your security. PassCrypt's password generator can create complex passwords based on your specific requirements.

🔄 Import/Export Functionality

Easily import or export your PassCrypt storage for backup or transfer, ensuring you never lose access to your passwords.

🔑 Master Password Protection

Secure your password vault with a master password, ensuring that only you can access your stored passwords.

💻 Cross-Platform Compatibility

Designed to run on multiple platforms, PassCrypt ensures that your passwords are accessible wherever you are.

Development Journey

The journey to creating PassCrypt began with a simple goal: generate context-aware passwords. As development progressed, additional functionalities such as encryption, secure storage, and a command-line interface were added. The primary challenge was to balance security and usability, ensuring a smooth and intuitive user experience.

To create PassCrypt, I utilized several libraries:

  • rich and pyperclip with click and inquirer for an interactive CLI.
  • cryptography for encryption, decryption, and hashing.

Despite the complexity, the development process was smooth, and I'm thrilled to share the final product with you.

Installation

PassCrypt is easy to install and use. Here's how you can get started:

Prerequisites

Before installing PassCrypt, ensure you have the following:

  • Python 3.7 or higher
  • pip (Python package installer)
  • Poetry (dependency management tool)

Installing PassCrypt

  1. With pip:
   pip install pypasscrypt
Enter fullscreen mode Exit fullscreen mode
  1. With Poetry:
   poetry add pypasscrypt
Enter fullscreen mode Exit fullscreen mode
  1. From Source:

    • Clone the PassCrypt repository:
     git clone https://github.com/tejus3131/passcrypt
    
  • Navigate to the project directory:

     cd passcrypt
    
  • Install the package using Poetry:

     poetry install
    

Getting Started

After installing PassCrypt, you can start the application by running:

passcrypt
Enter fullscreen mode Exit fullscreen mode

On first run, you'll be prompted to set up a master password. This password will be used to encrypt and decrypt your stored passwords, so make sure it's strong and memorable.

Main Menu

Once you've set up your master password (or logged in on subsequent uses), you'll see the main menu with the following options:

  1. List All Passwords
  2. Add Password
  3. Edit Password
  4. Remove Password
  5. Settings

Each option is designed to make managing your passwords straightforward and secure.

Download the CLI Tool

For convenience, you can also download the PassCrypt CLI tool directly from the following link:
PassCrypt CLI Tool

Best Practices

  1. Master Password: Choose a strong, unique master password and never share it with anyone.
  2. Regular Backups: Use the export feature regularly to back up your passwords.
  3. Password Generation: When possible, use PassCrypt's password generator to create strong, unique passwords for each site.
  4. Regular Updates: Keep PassCrypt updated to ensure you have the latest security features.

Join the Community

I invite developers and tech enthusiasts to try PassCrypt and experience its powerful and secure password management features. Check out our PyPI page, explore the GitHub repository, and read the documentation to get started.

Your feedback and contributions are highly appreciated as we continue to improve PassCrypt. Feel free to open issues, submit pull requests, or just share your thoughts.

Stay Secure with PassCrypt!

Thank you for your support, and happy coding!

Top comments (3)

Collapse
 
raddevus profile image
raddevus

This looks very interesting. I just starred the GitHub repo and i will look at it more closely soon.
I've written a password generator / manager also and mine runs on all platforms via ElectronJS. Check it out at my github repo: github.com/raddevus/CYaPass-Electron

Collapse
 
tejus3131 profile image
Tejus Gupta

Amazing you have been maintaining this from a really long time.

Collapse
 
raddevus profile image
raddevus

Thanks for checking it out. The app is pretty solid at this point. I use it every day on my iphone, my linux desktop, windows desktop, mac laptop. Everywhere. :)