~cyborg/crypt

11b2decc0d83f9275ba290f4d5d2ded6b545ef2d — christian-cleberg 2 months ago d0313ab
add more details around the encryption used
1 files changed, 7 insertions(+), 3 deletions(-)

M README.md
M README.md => README.md +7 -3
@@ 1,9 1,12 @@
# 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.
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 
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!

---



@@ 108,6 111,7 @@ Any and all contributions are welcome. Feel free to fork the project, add featur
- [ ] Allow purging the database
- [x] Allow user encryption of database or file
- [x] Allow user-created keys to automatically encrypt/decrypt the database or file
- [ ] Require password to encrypt/decrypt/hash/salt/etc. the key file.
- [ ] Create test suite
- [ ] Publish to crates.io when the package is in a minimally-usable state
- [ ] Restructure and format code according to best practices (dead code, unused imports, etc.)