Skip to main content

A Python implementation of the Master Password algorithm.

Project description

Master Password

This is a Python implementation of the Master Password algorithm by Maarten Billemont. It also comes with a command line interface that lets you compute passwords for your sites based on your master password.

Installation

This package requires Python 3 (tested with 3.4) and uses scrypt, cryptography (you need a compiler for both), click, and pyperclip.

Installation with pip:

$ pip install mpw

Or better, use pipsi:

$ pipsi install --python `which python3` mpw

This app copies the password to the clipboard. This should work out-of-the-box on OS X and Windows. On Linux, mpw makes use of the xclip or xsel commands, which should come with the os. Otherwise run:

$ sudo apt-get install xclip
$ # or
$ sudo apt-get install xsel

Alternatively, the gtk or PyQT4 modules can be installed.

Binary executables (e.g., an installer for Windows) may follow.

Usage

$ # Add a user
$ mpw adduser Alice
Enter master password:
Confirm master password:
Added user "Alice".
# Add a site for Alice
$ mpw addsite test-site
Enter master password for "Alice":
Added site "test-site" for user "Alice".
$ # Actually get the password
$ mpw get test-site
Enter master password for "Alice":
Password for "test-site" for user "Alice" was copied to the clipboard.
$ # You can also pipe a password to other commands:
$ mpw get -e server-root | sudo -S vim /etc/crontab

For more information take a look at the help:

$ mpw --help

Changelog

0.3 – 2015-02-01

  • [CHANGE] mpw get no longer creates a user or site if they don’t exist.

  • [CHANGE] New config file format.

  • [NEW] Support for multiple versions of the Master Password algorithm

  • [NEW] Implemented version 2 of the algorithm

  • [NEW] A hashed version of the master key is stored on disk to notify you if you make typos.

  • [NEW] The users’ sites are now being encrypted on disk

  • [NEW] Users can now change their master password

  • [NEW] Passwords can now be echoed to stdout and thus be piped to other commands.

  • [NEW] Lots of test to ensure compatibility with the reference implementation

  • [NEW] 100% line and branch coverage

0.2 – 2014-09-16

  • [NEW] Added a lot of subcommands that allow you to store user and site configuration in a config file

  • [CHANGE] mpw SITE is now mpw get SITE

0.1 – 2014-08-21

  • Initial release.

Authors

Master Password is a security product and algorithm by Maarten Billemont, Lyndir.

The Python implementation of the Master Password algorithm was created by Stefan Scherfke.

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

mpw-0.3.0.tar.gz (12.4 kB view details)

Uploaded Source

Built Distribution

mpw-0.3-py2.py3-none-any.whl (17.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mpw-0.3.0.tar.gz.

File metadata

  • Download URL: mpw-0.3.0.tar.gz
  • Upload date:
  • Size: 12.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mpw-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a71335623d2f4dd835454fc1e188179e101fde237bd5fd3797d6b903363c3f8d
MD5 bef1dce89f7c160fd87f9ee13eeb997d
BLAKE2b-256 194a28863650a607b1f32a61137df95804b9d5217d50a99b907fe14eef078760

See more details on using hashes here.

File details

Details for the file mpw-0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: mpw-0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mpw-0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 21587153064513d3bfa2cddb4afca09f08490506e48f5bb8987d32d476df1422
MD5 4acad4a892de588138ebcd8c08442b95
BLAKE2b-256 3fe343483c1368cd617c6d8cd01c8d3d795e4fe38bf0d30b6608f26f3005aa97

See more details on using hashes here.

Supported by

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