This commit is contained in:
Keep Creating Online
2024-10-19 20:46:23 -04:00
parent 6e3862810f
commit 412296d545
12 changed files with 10 additions and 115 deletions

View File

@@ -55,7 +55,7 @@ git clone https://github.com/PR0M3TH3AN/SeedPass.git
Navigate to the project directory:
```bash
cd SeedPass
cd SeedPass/src
```
### 2. Create a Virtual Environment
@@ -63,7 +63,7 @@ cd SeedPass
It's recommended to use a virtual environment to manage your project's dependencies. Create a virtual environment named `venv`:
```bash
python -m venv venv
python3 -m venv venv
```
### 3. Activate the Virtual Environment
@@ -76,7 +76,7 @@ Activate the virtual environment using the appropriate command for your operatin
source venv/bin/activate
```
- **On Windows:**
- **On Windows:** (This app doesent currently work on Windows)
```bash
venv\Scripts\activate

View File

@@ -10,10 +10,6 @@ from a given seed. Additionally, it supports the derivation of symmetric encrypt
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
Dependencies:
- bip_utils
- cryptography
Ensure that all dependencies are installed and properly configured in your environment.
"""

View File

@@ -53,7 +53,7 @@ try:
# -----------------------------------
# Application Directory and Paths
# -----------------------------------
APP_DIR = Path.home() / '.deterministic_password_generator'
APP_DIR = Path.home() / '.seedpass'
APP_DIR.mkdir(exist_ok=True, parents=True) # Ensure the directory exists
logging.info(f"Application directory created at {APP_DIR}")
except Exception as e:
@@ -61,7 +61,7 @@ except Exception as e:
logging.error(traceback.format_exc()) # Log full traceback
try:
INDEX_FILE = APP_DIR / 'passwords_db.json' # Encrypted password database
INDEX_FILE = APP_DIR / 'seedpass_passwords_db.json' # Encrypted password database
PARENT_SEED_FILE = APP_DIR / 'parent_seed.enc' # Encrypted parent seed
logging.info(f"Index file path set to {INDEX_FILE}")
logging.info(f"Parent seed file path set to {PARENT_SEED_FILE}")
@@ -73,8 +73,8 @@ except Exception as e:
# Checksum Files for Integrity
# -----------------------------------
try:
SCRIPT_CHECKSUM_FILE = APP_DIR / 'script_checksum.txt' # Checksum for main script
DATA_CHECKSUM_FILE = APP_DIR / 'passwords_checksum.txt' # Checksum for password data
SCRIPT_CHECKSUM_FILE = APP_DIR / 'seedpass_script_checksum.txt' # Checksum for main script
DATA_CHECKSUM_FILE = APP_DIR / 'seedpass_passwords_checksum.txt' # Checksum for password data
logging.info(f"Checksum file paths set: Script {SCRIPT_CHECKSUM_FILE}, Data {DATA_CHECKSUM_FILE}")
except Exception as e:
logging.error(f"Error setting checksum file paths: {e}")
@@ -83,7 +83,7 @@ except Exception as e:
# -----------------------------------
# Password Generation Constants
# -----------------------------------
DEFAULT_PASSWORD_LENGTH = 12 # Default length for generated passwords
DEFAULT_PASSWORD_LENGTH = 16 # Default length for generated passwords
MIN_PASSWORD_LENGTH = 8 # Minimum allowed password length
MAX_PASSWORD_LENGTH = 128 # Maximum allowed password length

View File

@@ -11,7 +11,6 @@ import traceback
from password_manager.manager import PasswordManager
from nostr.client import NostrClient
# Initialize colorama for colored terminal text
colorama_init()
def configure_logging():

View File

@@ -8,14 +8,6 @@ restoring from backups, and listing available backups for the encrypted password
index file. It ensures data integrity and provides mechanisms to recover from
corrupted or lost data by maintaining timestamped backups.
Dependencies:
- shutil
- time
- logging
- pathlib
- colorama
- termcolor
Ensure that all dependencies are installed and properly configured in your environment.
"""

View File

@@ -8,19 +8,6 @@ operations related to managing password entries in the deterministic password ma
It provides methods to add, retrieve, modify, and list password entries, ensuring
that all changes are securely encrypted and properly indexed.
Dependencies:
- password_manager.encryption.EncryptionManager
- constants.INDEX_FILE
- constants.DATA_CHECKSUM_FILE
- utils.file_lock.lock_file
- colorama.Fore
- termcolor.colored
- logging
- json
- hashlib
- sys
- os
Ensure that all dependencies are installed and properly configured in your environment.
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.

View File

@@ -3,45 +3,6 @@
"""
Password Manager Module
This module implements the PasswordManager class, which orchestrates various functionalities
of the deterministic password manager, including encryption, entry management, password
generation, backup, and checksum verification. It serves as the core interface for interacting
with the password manager functionalities.
Dependencies:
- password_manager.encryption.EncryptionManager
- password_manager.entry_management.EntryManager
- password_manager.password_generation.PasswordGenerator
- password_manager.backup.BackupManager
- utils.key_derivation.derive_key_from_parent_seed
- utils.key_derivation.derive_key_from_password
- utils.checksum.calculate_checksum
- utils.checksum.verify_checksum
- utils.password_prompt.prompt_for_password
- constants.APP_DIR
- constants.INDEX_FILE
- constants.PARENT_SEED_FILE
- constants.DATA_CHECKSUM_FILE
- constants.SCRIPT_CHECKSUM_FILE
- constants.MIN_PASSWORD_LENGTH
- constants.MAX_PASSWORD_LENGTH
- constants.DEFAULT_PASSWORD_LENGTH
- colorama.Fore
- termcolor.colored
- logging
- json
- sys
- os
- getpass
Ensure that all dependencies are installed and properly configured in your environment.
"""
# password_manager/manager.py
"""
Password Manager Module
This module implements the PasswordManager class, which orchestrates various functionalities
of the deterministic password manager, including encryption, entry management, password
generation, backup, and checksum verification. It serves as the core interface for interacting

View File

@@ -7,19 +7,6 @@ This module provides the PasswordGenerator class responsible for deterministic p
based on a BIP-39 parent seed. It leverages BIP-85 for entropy derivation and ensures that
generated passwords meet complexity requirements.
Dependencies:
- bip85.BIP85
- cryptography.hazmat.primitives.hashes
- cryptography.hazmat.primitives.kdf.hkdf
- cryptography.hazmat.backends.default_backend
- constants.py
- password_manager.encryption.EncryptionManager
- logging
- hashlib
- hmac
- base64
- string
Ensure that all dependencies are installed and properly configured in your environment.
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.

View File

@@ -7,13 +7,6 @@ This module provides functionalities to calculate and verify SHA-256 checksums f
It ensures the integrity and authenticity of critical files within the application by
comparing computed checksums against stored values.
Dependencies:
- hashlib
- logging
- colored (from termcolor)
- constants.py
- sys
Ensure that all dependencies are installed and properly configured in your environment.
"""

View File

@@ -8,14 +8,7 @@ locks on files using the `fcntl` library. It ensures that critical files are acc
safely, preventing race conditions and maintaining data integrity when multiple processes
or threads attempt to read from or write to the same file concurrently.
Dependencies:
- fcntl
- logging
- contextlib
- typing
- pathlib.Path
- termcolor (for colored terminal messages)
- sys
I need to change this to something that supports Windows in the future.
Ensure that all dependencies are installed and properly configured in your environment.
"""

View File

@@ -4,19 +4,13 @@
Key Derivation Module
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
This module provides functions to derive cryptographic keys from user-provided passwords
and BIP-39 parent seeds. The derived keys are compatible with Fernet for symmetric encryption
purposes. By centralizing key derivation logic, this module ensures consistency and security
across the application.
Dependencies:
- hashlib
- base64
- unicodedata
- logging
Ensure that all dependencies are installed and properly configured in your environment.
"""

View File

@@ -8,13 +8,6 @@ are entered and confirmed correctly. It handles both the creation of new passwor
input of existing passwords for decryption purposes. By centralizing password prompting logic,
this module enhances code reuse, security, and maintainability across the application.
Dependencies:
- getpass
- logging
- colorama
- termcolor
- constants (for MIN_PASSWORD_LENGTH)
Ensure that all dependencies are installed and properly configured in your environment.
"""