Skip to main content

Select the characters at specified indices of your secret word

Project description

sws - secret word selector

Premise:

Some banks (Mine in particular) require a second password to do online banking. The bank always asks for certain indices of this second password. eg. Please enter the first third and tenth characters of your secret word. I got tired of trying to do it on my fingers, hence this simple script.

Usage:

In it's simplest form use the sws command with the get sub-command and the -p switch with the indices:

sws get -p 1 2 3 mysecretword

You can save a secret word with a label for later use. All secrets are saved to an encrypted file in your HOME directory.

sws save mysecretword -l mylabel

To retreive indices from a saved secret word, use the get-from-file sub-command. You will be asked for the password you used when saving your secret word to disk.

sws get-from-file -p 1 2 3 -l mylabel

Sometimes, you may forget which label corresponds to which secret word. To list all saved secret words along with their labels, use the show-all sub-command:

sws show-all

Sometimes things go wrong, sometimes you just want to start over. That's where the reset sub-command comes in. This completley removes all traces of the sws config file and any secrets stored on disk.

sws reset

sws uses Python's argparse library so help is available from the command line.

About Security:

sws uses the Python Cryptography library. Secrets and labels are stored in a dictionary which is then pickled and encrypted with a Fernet token created witht the Cryptography library. All of this happens in memory before writing the encrypted secrets to disk. Similarly, encrypted secrets are read from disk and decrypted in memory using your password plus a previously generated random salt for extra security.

Testing:

sws has been tested on MacOS Mojave, Windows 8 and Ubuntu Server 16.04 so I'm fairly confident that it work across platforms. Any errors, leave a comment.

Project details


Download files

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

Source Distribution

secret_word_selector-1.0.0.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

secret_word_selector-1.0.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file secret_word_selector-1.0.0.tar.gz.

File metadata

  • Download URL: secret_word_selector-1.0.0.tar.gz
  • Upload date:
  • Size: 18.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for secret_word_selector-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cf770081b32b24d2f3f9f10de84b32d7d717be58b36601b93dc9d8bf3049203a
MD5 a9d7891f35ecea4fbbe0a60912fb91c7
BLAKE2b-256 f34d73bec156ccc9ae47f3fa61fa74a6f17a88a2ae0a8a94ded9b386d9d2081e

See more details on using hashes here.

File details

Details for the file secret_word_selector-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: secret_word_selector-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for secret_word_selector-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 efce4b7cbbd66cb8097b1ba2b4aea41b1238960c27e194e53f14d42da34ecb80
MD5 7119877c5706fc8464dbc619b493fc77
BLAKE2b-256 62ff80f0c8e3d1ca5629d2d1f76710eaa6c78fac7ca91642fcbbed193c7a52f5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page