A secure and user-friendly password manager written in C, utilizing OpenSSL for encryption.
Go to file
2024-10-19 00:49:08 +00:00
README.md Update README.md 2024-10-19 00:49:08 +00:00

Password Manager

A secure command-line password manager written in C using OpenSSL for encryption. This program allows users to store, retrieve, and manage their passwords securely, ensuring that sensitive information remains safe from unauthorized access.

Features

  • Add New Services: Store service names, usernames, and passwords (randomly generated if not provided).
  • Retrieve Credentials: Easily fetch stored credentials based on service names.
  • List Services: View all stored services in the vault.
  • Secure Encryption: Utilizes AES encryption with a derived key from a master password.
  • Hidden Input: The master password is entered without displaying it on the screen.
  • Command-Line Interface: User-friendly command-line options for managing passwords.

Requirements

  • OpenSSL Development Libraries
  • A C compiler (e.g., GCC)

Installation

  1. Clone the repository:

    git clone https://git.bidonov.xyz/root/Password-Manager.git
    cd password-manager
    
  2. Compile the program:

    gcc -o password_manager password_manager.c -lssl -lcrypto
    
  3. Compile the program:

    gcc -o password_manager password_manager.c -lssl -lcrypto
    

Usage

Run the program with the following command:

./password_manager --help

This will display the available options and how to use the password manager.

Examples

  • To add a new service with a randomly generated password:
./password_manager --add <service_name> --username <username>
  • To retrieve credentials for a service:
./password_manager --get <service_name>
  • To list all stored services:
./password_manager --list

Security Considerations

  • The passwords are securely encrypted using AES-256-CBC.
  • Keys are derived from a user-provided master password using PBKDF2 for added security.

Future Improvements

  • Implementing multi-factor authentication.
  • Enabling password sharing features.
  • Developing a web-based interface for improved accessibility.

License

This project is licensed under the MIT License. See the LICENSE file for details.