How rsh-454/crypt works
CRYPT is a single-file Python credential manager. The user enters through a console menu, establishes or verifies the master password, then saves, searches, updates, deletes, or lists account credentials; a separate menu action resets the master password. Credential operations read and write a JSON vault, while password values are encrypted with Fernet and the master password is stored as a hash. The README’s security warning conflicts with the sampled code, which encrypts credential values; the broader architecture is limited to the one sampled source file.
Main entry points: CRYPT.py Startup and menus
Components 17
CLI flow
- Startup and menus
CRYPT.py - Display header
CRYPT.py
Access control
- Authenticate access
CRYPT.py - Password hashing
CRYPT.py - Auth hash file
CRYPT.py - Reset master password
CRYPT.py
Credential vault
- Save credential
CRYPT.py - Search credential
CRYPT.py - Update credential
CRYPT.py - Delete credential
CRYPT.py - View all credentials
CRYPT.py - Vault file access
CRYPT.py - JSON credential vault
CRYPT.py - Credential encryption
CRYPT.py - Key loading
CRYPT.py - Fernet key file
CRYPT.py
Other components
- User
Connections 25
- User → Startup and menus: chooses options
- Startup and menus → Display header: displays
- Startup and menus → Authenticate access: authenticates
- Authenticate access → Password hashing: hashes input
- Authenticate access → Auth hash file: reads or writes
- Reset master password → Auth hash file: reads or writes
- Reset master password → Password hashing: hashes passwords
- Startup and menus → Reset master password: dispatches reset
- Startup and menus → Save credential: dispatches save
- Startup and menus → Search credential: dispatches search
- Startup and menus → Update credential: dispatches update
- Startup and menus → Delete credential: dispatches delete
- Startup and menus → View all credentials: dispatches view
- Save credential → Credential encryption: encrypts password
- Save credential → Vault file access: loads and saves
- Search credential → Vault file access: loads vault
- Search credential → Credential encryption: decrypts match
- Update credential → Vault file access: loads and saves
- Update credential → Credential encryption: encrypts replacement
- Delete credential → Vault file access: loads and saves
- View all credentials → Vault file access: loads vault
- View all credentials → Credential encryption: decrypts entries
- Vault file access → JSON credential vault: reads or writes
- Credential encryption → Key loading: loads key
- Key loading → Fernet key file: reads or creates