c55f9a392c
This commit introduces several improvements to the `hash-password` binary: - **New command-line interface:** Supports printing hashes directly, hashing via prompts, or patching `web_password` in `users.toml` in place. - **Atomic file patching:** Utilizes `toml_edit` to preserve comments, ordering, and formatting, and writes changes atomically via a temporary file and rename operation. - **Robust argument parsing:** Handles various command-line scenarios and provides informative usage messages. - **Error handling:** Improves error reporting for failed operations. - **Added unit tests:** Includes tests for patching behavior and error conditions.