# Crypt: A Password Manager A simple command-line password manager, written in Rust + SQLite. This tool allows you to manage accounts and generate random passwords containing ASCII letters, numbers, and punctuation or XKCD-like passphrases. Data is encrypted prior to being saved within the SQLite database using the [fernet](https://docs.rs/fernet/) crate. Encryption and decryption require the use of a randomly-generated key saved as `vault.key` but the key-file is saved in plaintext, which means that an attacker that can access the key-file can also decrypt the database. Further development may allow password-protection of the key-file; please open an issue or pull request if you want this feature! --- **NOTE:** This crate is not ready for use in production yet. There are many items still left to implement prior to a production-ready release - see the [TODO](#todo) section for more details. --- ## Table of Contents - [Installation](#installation) - [Usage](#usage) - [Arguments](#arguments) - [Examples](#examples) - [Contributing](#contributing) - [TODO](#todo) - [Development](#development) ## Installation [(Back to top)](#table-of-contents) To install the package from [Crates.io](https://crates.io), run the following command: ```bash cargo install crypt ``` [Visit the Crypt page](https://crates.io/crates/crypt/) for more information. ## Usage [(Back to top)](#table-of-contents) All arguments can be passed to the app with the following template: ```bash crypt ARGUMENT [VALUES] ``` ### Arguments #### Summary
Argument (Short) | Argument (Long) | Explanation |
-h | --help | Print the welcome message |
-n | --new | Create a new account |
-l | --list | List all saved accounts |
-e | --edit [UUID] [FIELD_NAME] | Edit a saved account |
-d | --delete [UUID] | Delete a saved account |
-p | --purge | Purge all accounts and delete the vault |