| Crates.io | pvcrypt |
| lib.rs | pvcrypt |
| version | 1.1.0 |
| created_at | 2025-01-29 06:00:31.360844+00 |
| updated_at | 2026-01-04 06:06:22.403574+00 |
| description | System level data encryption using aes_gcm |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1534420 |
| size | 36,305 |
A file encryption and decryption software used to encrypt a file using aes_gcm library.
Added feature of using pipe to encrypt and decrypt files in a single command.
aes_gcm library to encrypt and decrypt filespvcrypt <input file> -o <output file>
Or using pipes
tar -cf - /path/to/your/folder | pvcrypt -o <output file>
pvcrypt <input file> -o <output file> -d <key>
The underlying aes-gcm-stream crate does not zeroize its internal key state; key material may remain in process memory until the encryptor/decryptor is dropped. We zeroize our stack copies of key/nonce, but the stream internals are not wiped by the crate. For stronger guarantees, patch the dependency to add zeroize-on-drop or use a stream AEAD that supports zeroization.
This tool generates a random key and writes it (with the nonce) to a key file (<output file>.key, or key.enc when writing to stdout). Anyone who can read both the ciphertext and the key file can obviously decrypt the data. Keep the key file private and stored separately from the ciphertext if confidentiality matters.