rasypt-lite CLI
Command-line wrapper around rasypt-lite-lib for encrypting/decrypting
strings with password-based encryption.
Installation
cargo install --path rasypt-lite-cli
Or cargo build --release from the workspace root; the binary is at
target/release/rasypt-lite.
Usage
rasypt-lite <COMMAND>
Commands:
encrypt Encrypt a plaintext value
decrypt Decrypt an encrypted value
help Print this message or the help of the given subcommand(s)
Options:
-q, --quiet Silence non-fatal warnings
-h, --help Print help
Encrypt
rasypt-lite encrypt (--input <INPUT> | --file <FILE>) --password <PASSWORD> [OPTIONS]
| Flag | Description |
|---|---|
-i, --input |
Literal plaintext to encrypt |
-f, --file, --path |
Process a UTF-8 text file instead of a literal input |
--in-place |
Overwrite the source file instead of writing transformed content to stdout |
-p, --password |
Password for key derivation |
-a, --algorithm, --alg |
Algorithm (default: PBEWithHMACSHA512AndAES_256) |
--iterations |
Override PBKDF2 iteration count |
--wrap |
Wrap literal AES output in ENC(...) |
Valid algorithms: PBEWithHMACSHA512AndAES_256, PBEWithHMACSM3AndSM4_GCM,
PBEWithHMACSM3AndSM4_CBC.
When --file is used, encrypt mode only rewrites DEC(...) markers to
ENC(...); everything else is left unchanged.
Decrypt
rasypt-lite decrypt (--input <INPUT> | --file <FILE>) --password <PASSWORD> [OPTIONS]
Same flags as encrypt except --wrap. Literal decrypt accepts both bare
Base64 ciphertext and ENC(...)-wrapped ciphertext for every supported
algorithm. The --algorithm and --iterations must match what was used during
encryption.
When --file is used, decrypt mode only rewrites ENC(...) markers to
DEC(...); everything else is left unchanged.
CLI stdout does not append an extra trailing newline.
Examples
# AES-256-CBC (default, Jasypt-compatible)
# SM4-GCM (authenticated encryption)
# Custom iteration count
# ENC(...) wrapping (AES only, for Jasypt/Spring Boot interop)
# Output: ENC(base64...)
# File mode: only DEC(...) markers are encrypted
# Overwrite the file in place
Password warnings
Passwords shorter than 8 characters produce a warning to stderr. Suppress with
--quiet.
Performance
PBKDF2 iterations affect derivation time. Defaults:
| Algorithm | Iterations | Release | Debug |
|---|---|---|---|
| AES-256-CBC | 1,000 | <1 ms | ~7 ms |
| SM4-GCM | 10,000 | ~4 ms | ~85 ms |
| SM4-CBC | 10,000 | ~4 ms | ~85 ms |
Use --release for normal use (cargo build --release or cargo install).
Debug builds are ~20× slower due to missing compiler optimizations on the SM3
inner loop.