stretch is a command line tool that uses PBKDF2 from Python's passlib to derive a key, given a secret and a salt.
You can, of course, clone the repo or download the stretch.py
script and
call it from its directory, but I'd rather have it "installed" so it can be
called from anywhere. The easiest way to install it:
[sudo] pip install stretch
Instead, you could just copy the script to a convenient location:
[sudo] curl https://raw.githubusercontent.com/felipedau/stretch/master/stretch/stretch.py -o /usr/local/bin/stretch
Finally, stretch the secret foo
with the salt bar
using the defaults
hmac-sha512
and 10000
rounds:
$ stretch foo bar FUMV4GHTdgpdEbseRSkUNiTd6CYktCUr3XPqy+pp7cPk7R7Ho0L1JJDXMbcYQkA/gkWQ7BoSOtRcMnvnD8qqhg==
Optional Arguments | Description |
---|---|
-h , --help |
show this help message and exit |
-b BEGIN , --begin BEGIN |
define where to start slicing the
result (equivalent to
result[b:] ) |
-e END , --end END |
define where to stop slicing the
result (equivalent to
result[:e] ) |
-f {md5,sha1,sha256,sha512} ,
--family {md5,sha1,sha256,sha512} |
choose a pseudo-random family. |
-r ROUNDS ,
--rounds ROUNDS |
define the number of rounds to use
on the generation (an integer
greater than zero). (Default:
10000 ) |
-c , --copy |
copy the output to the clipboard by piping it to xclip instead of printing |