Skip to main content
Author:

Olivier Grisel <olivier.grisel@ensta.org>

description:

Generate rebuildable strong passwords

Oneliner overview:

domain_password == base62(sha1(master_password + domain_key))[:8]

Goal

This utility script helps generate a set of rebuildable domain-specific strong passwords out of a single easy to remember master password and domain specific keys such as “login@host”.

The generated passwords are strong since they use 8 characters out of a 62 characters long alphabet (lowercase and uppercase letters + digits) that are not to be found in any dictionary.

You can always re-generate your passwords by taking the base 62 encoding of the sha1 hash of the concatenation of your master password and domain key.

Install

With pip:

$ pip install -U virtualkeyring

Usage

Use the interactive command-line tool vkr that should now be in your PATH, and type in you master password and domain key:

$ vkr
master password: mysecret
domain key [e.g. 'login@host']: foobar@example.com
Your password is available in the clipboard. You have 10s to paste it.

To generate passwords with length larger that 8 chars, for instance for an ssh key passphrase:

$ vkr -l 20

To generate passwords for a specific alphabet:

$ vkr -a 42aAuUTt

Add your ssh key with virtualkeyring

Add a ssh key to your ssh-agent:

$ vkr-key

This will use your hostname as domain key. You can also set your domain key in ~/.virtualkeyring.

Changes

  • 1.6 (2013-07-21): use xerox to copy password to clipboard

  • 1.4 (2010-04-01): hashlib support. add vkr-key script

  • 1.3 (2008-06-01): add factorized out password fetching from stdin (thanks to gawel)

  • 1.2 (2008-05-16): add -l and -a parameters

  • 1.1 (2008-02-16) use getpass to read the master password from the keyboard

  • 1.0 (2007-11-10) initial relase

Release files for virtualkeyring 1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for virtualkeyring 1.6
File Size Uploaded
virtualkeyring-1.6.tar.gz 5.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for virtualkeyring 1.6
File Interpreter ABI Platform
virtualkeyring-1.6-py2.7.egg Legacy Egg format - - Details

Total release size: 13.9 kB

Release files / virtualkeyring-1.6.tar.gz

Download URL virtualkeyring-1.6.tar.gz
Size 5.0 kB
Tags Source
SHA-256 checksum
How to use checksums
02b278673c389c5ba4846554206781a3e551dfafe22da1133923cee8611b1a6d
BLAKE2b-256 checksum
How to use checksums
f8223df08fcf43779d4dd915978181005407711dbc23e109fad1225cd30e0b5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release files / virtualkeyring-1.6-py2.7.egg

Download URL virtualkeyring-1.6-py2.7.egg
Size 8.9 kB
Tags Egg
SHA-256 checksum
How to use checksums
69d850496c21f526ed11387659d2ed375f9b359600aec553c3edf1a576d5c0b8
BLAKE2b-256 checksum
How to use checksums
82f6034125fe3e3f7dafea28aba71d53a4b12b7b7e44afa117fb504092a2e0c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.6 This release

2 release files

1.5

3 release files

1.4

1 release file

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page