Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/nishat-ahmad/password-manager

A password manager in terminal can do all basic functions on credentials. Checks strength of passwords, generates logs and can generate passwords.
https://github.com/nishat-ahmad/password-manager

hash log password-generator password-manager password-strength

Last synced: 1 day ago
JSON representation

A password manager in terminal can do all basic functions on credentials. Checks strength of passwords, generates logs and can generate passwords.

Awesome Lists containing this project

README

        

# Password Manager

## Overview
A secure Python-based **Password Manager** for storing, managing, and generating passwords. Features include encryption, customizable password generation, secure login, logging functionality, and easy retrieval or updating of stored credentials.

---

## Project Structure

The project is organized into three directories:

1. **`code/`**
Contains the main application code:
- `main.py`: Entry point of the application.
- `functions.py`: Handles password storage and operations.
- `generator.py`: Provides random and customizable password generation.
- `login.py`: Manages authentication for master credentials.
- `checker.py`: Analyzes password strength.
- `log.py`: Logs system events and errors.

2. **`data/`**
Holds critical files for operation:
- `data.csv`: Stores the encrypted password data.
- `key.txt`: Stores the Fernet encryption key.
- `main.txt`: Stores hashed master credentials (username, password).
- `requirements.txt`: Stores the required libraries.
- `README.md`: Stores this file.

3. **`logs/`**
- Holds all the log files generated by the application.
- Each log file is named as `-.txt` (e.g., `2024-11-15-0.txt`).

---

## Key Features

### 1. **Secure Login**
- Authentication based on hashed master credentials.
- Capability to update master username and password.

### 2. **Password Generator**
- Generate fully random or customized passwords.
- Options for including digits, letters, and special characters.

### 3. **Password Storage**
- Stores credentials in an encrypted `data.csv` file.
- Add, read, update, and delete password entries securely.

### 4. **Password Strength Checker**
- Analyzes password strength based on length, complexity, and character diversity.

### 5. **Detailed Logging System**
- Logs all system events and errors for debugging and monitoring.
- Logs are categorized by severity:
- **DEBUG**: Detailed information for debugging.
- **INFO**: Successful operations and feature access.
- **WARNING**: Non-critical issues or updates.
- **ERROR**: Errors caused by invalid inputs or failures.
- **CRITICAL**: Major application crashes.

---

## Setup Instructions

### Prerequisites
Ensure Python 3.8+ is installed on your system.

### Install Dependencies
Run the following command to install required libraries:
```bash
pip install -r requirements.txt
```

requirements.txt contains the following third-party libraries:
```plaintext
csv
hashlib
random
string
cryptography
datetime
pathlib
```

Directory Structure
Ensure the following directory structure is maintained:
```css
.
├── code/
│ ├── main.py
│ ├── functions.py
│ ├── generator.py
│ ├── login.py
│ ├── checker.py
│ └── log.py
├── data/
│ ├── data.csv
│ ├── key.txt
│ ├── main.txt
│ ├── readme.md
│ └── requirements.txt
├── logs/
```

Running the Application
Start the application by running:
```bash
python main.py
```

## Logging System
### File Structure
Logs are stored in the logs/ directory.
Each log file is named -.txt (e.g., 2024-11-15-0.txt).
### Log Levels
1. DEBUG: Logs debugging details.
2. INFO: Logs successful operations.
3. WARNING: Logs non-critical issues.
4. ERROR: Logs invalid inputs or failures.
5. CRITICAL: Logs critical application crashes.

## Security Features
### Encryption:
Passwords are encrypted using Fernet encryption.
Encryption key is stored in key.txt.
### Master Credentials:
Stored as SHA-256 hashes in main.txt for enhanced security.
### Logging:
Comprehensive logs for tracking system activity and errors.

Enjoy :)