Skip to main content

Deterministic password generator

Project description

Master

Deploy pages

Generates deterministic passwords.

This is inspired by spectre.app but simpler. This uses a sha256 hashed combination of username + password + service + version (version is now locked to 0) to generate the same password, over and over again, thus eliminating the need to store, maintain and back up other generated passwords.

jpedro.github.io/master has the browser experience.

The used service name list is kept under the file ~/.config/master/list.txt (or whatever MASTER_LIST points to) purely for autocompletion, which will be added later.

Eventually, the idea is to create a simple browser extension that uses the URL domain name as the service.

Install

pip install master

Usage

$ master --help

NAME
    master — Generates deterministic passwords for services

USAGE
    master NAME                 Gets the password for service NAME
    master -l, --list           Lists all stored services
    master -r, --remove NAME    Removes service NAME from the stored list
    master -v, --version        Shows the version
    master -h, --help           Shows this help

Environment variables

Name Default
MASTER_LIST ~/.config/master/list.txt
MASTER_USERNAME (None) [1]
MASTER_PASSWORD (None) [1]
MASTER_SEPARATOR -
MASTER_LENGTH 6
MASTER_CHUNKS 6

Using these default settings, it will generate a password that's 41 characters long. 6 chunks of 6 character long with 5 separators in between.

Note [1] If you don't set the MASTER_USERNAME or the MASTER_PASSWORD you will be prompted for them.

Todos

  • Make the MASTER_LIST a directory to avoid git conflicts.
  • Integrate the user name with Oauth2 providers. Maybe the sub after an authentication flow can be used instead of the flat username. Cons: the email provider can change for the same email address. Plus, not 100% sure if one wants to tie passwords to an email.
  • Lock (close) the master page after 30 seconds of inactivity.

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

master-0.2.6.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

master-0.2.6-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file master-0.2.6.tar.gz.

File metadata

  • Download URL: master-0.2.6.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.8

File hashes

Hashes for master-0.2.6.tar.gz
Algorithm Hash digest
SHA256 396c9b9a974a079efc4eb3fa65127b5b0e4cc27e092c3c04810a2f6b0241cf7a
MD5 004723bb152927a1c64e3959af6fab3e
BLAKE2b-256 358e0ddbe63188e615e529b0878e17b390d659f25e1462162978610648ead8d0

See more details on using hashes here.

File details

Details for the file master-0.2.6-py3-none-any.whl.

File metadata

  • Download URL: master-0.2.6-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.8

File hashes

Hashes for master-0.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f714431af0069cd6615c776533b2c0f4aa74517f60dc2a86e7b59ec9f426e73c
MD5 60e4571a7e75326ea7afecc0bb2b2046
BLAKE2b-256 eab3416f4876791c65b98d099e854b6c7edd19e59c82fb0dee87fb8b90924254

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