Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Deterministic password generation and password storage.

Project description

PyPI Version Build Status Code Coverage

A command line application for deterministic password generation and password storage.

Getting started

Install it using

pip install passthesalt

and start storing secrets with

pts add

How does it work?

Secrets are generated on the fly using the same secure algorithm each time which uses a master password and a description of the password. Only the description of the secret is stored. This means the secrets are not stored anywhere.

The generation algorithm is PBKDF2 using 2048 iterations of HMAC-SHA-256, applied to (full name + master password) as the key and the description as the salt.

Since sometimes you cannot choose your passwords the application also has provision to securely encrypt secrets with the master password.


The command line interface has the following commands

add      Add a secret.
diff     Compare two stores.
edit     Edit a secret.
encrypt  Encrypt a secret.
get      Retrieve a secret.
ls       List the secrets.
mv       Relabel a secret.
pull     Retrieve a remote store.
push     Update the remote store.
rm       Remove a secret.

All commands and options are documented in the cli. You can use the --help option with any command.

Migrating from version 2.3.0

The storage format changed between version 2.x.x and 3.x.x. To migrate to the latest version of PassTheSalt you should first dump your 2.x.x store

pts dump -o passthesalt-v2-dump.json

Then upgrade your PassTheSalt

pip install --upgrade passthesalt

Finally, migrate the secrets

pts migrate -i passthesalt-v2-dump.json

Be sure to first verify that your passwords still work! If so then delete the passthesalt-v2-dump.json file.


This project is licensed under the MIT License. See the LICENSE file.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for passthesalt, version 3.2.1
Filename, size File type Python version Upload date Hashes
Filename, size passthesalt-3.2.1-py3-none-any.whl (18.4 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size passthesalt-3.2.1.tar.gz (16.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page