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.5.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

master-0.2.5-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for master-0.2.5.tar.gz
Algorithm Hash digest
SHA256 1531a957f23d22d9496777fe702b772773baca3fecac395cd2fb167dd9940cc1
MD5 dd5846f8ffbafffd4a5f1f0838de9dcd
BLAKE2b-256 1509cac9d328ca3c2e0b7e868ef80d950fed7880b0f48168bfd2dc8786aa3965

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for master-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 374aaa9d8ae902831e252f0da73388ac4ab15437dbfce3c03f93de4881a9b4ae
MD5 5e0d0bd66087226718b2d554d68e8544
BLAKE2b-256 4446c0ce2af29f592b9036ce2870368f3751ba43678095b4d68da74de3163264

See more details on using hashes here.

Supported by

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