Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/nishat-ahmad/password-manager
- Owner: Nishat-Ahmad
- Created: 2024-10-16T13:03:32.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-11T17:35:59.000Z (29 days ago)
- Last Synced: 2024-12-11T18:41:43.245Z (29 days ago)
- Topics: hash, log, password-generator, password-manager, password-strength
- Language: Python
- Homepage:
- Size: 178 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 :)