A secure and user-friendly password manager written in C, utilizing OpenSSL for encryption.
README.md |
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
-
Clone the repository:
git clone https://git.bidonov.xyz/root/Password-Manager.git cd password-manager
-
Compile the program:
gcc -o password_manager password_manager.c -lssl -lcrypto
-
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.