lesspass.rs
An (unofficial) fully featured Rust client for LessPass.
This client is focused on performances, and uses Ring behind the scenes.
Allocations were avoided wherever possible, and some parts of the password generation algorithms were sligthly
changed to avoid needless allocations.
Usage
Generates LessPass-like passwords.
USAGE:
lesspass.exe [FLAGS] [OPTIONS] [ARGS]
FLAGS:
-L, --no-lower Exclude lowercase characters.
-N, --no-numbers Exclude numbers.
-S, --no-symbols Exclude symbols.
-U, --no-upper Exclude uppercase characters.
-h, --help Prints help information
-E, --return-entropy Return the entropy instead of generating a password.
--sha256 Use SHA-256 for password generation.
--sha384 Use SHA-384 for password generation.
--sha512 Use SHA-512 for password generation.
-V, --version Prints version information
OPTIONS:
-c, --counter <counter> Arbitrary number used for password generation. [default: 1]
-i, --iterations <iterations> Number of iterations used for entropy generation. [default: 100000]
-l, --length <length> Length of the generated password. [default: 16]
ARGS:
<website> Target website.
<login> Username or email address.
<password> Master password used for fingerprint and password generation.
EXAMPLES:
Generate a password:
lesspass example.org contact@example.org password
Generate the fingerprint of a master password:
lesspass password
Generate a 32-characters password using SHA-512:
echo password | lesspass example.org contact@example.org --sha512 -l 32
Generate the entropy of a password, using 10,000 iterations:
lesspass example.org contact@example.org password -i 10000 -E > entropy.txt
Generate an alphanumeric password using the previously saved entropy:
cat entropy.txt | lesspass -S
The two previous examples are obviously equivalent to:
lesspass example.org contact@example.org password -i 10000 -S
Benchmarks
Although benchmarking against a Node.JS app is not very fair, the following results were obtained when generating a password.
lesspass-cli
$ lesspass example.org contact@example.org password -L 32
322 ms
lesspass.rs
$ lesspass example.org contact@example.org password -l 32
53 ms