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.4 – 2015-02-07

  • [CHANGE] Ask the user three times for their password if they make a typo instead of giving up after the first time.

  • [NEW] Implemented v3 of the algorithm. It behaves like v2 implemented in mpw 0.3, because I accidently fixed the problems of the official v2 implementation in my own implementation.

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

Uploaded Source

Built Distribution

mpw-0.4-py2.py3-none-any.whl (18.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for mpw-0.4.tar.gz
Algorithm Hash digest
SHA256 ca17759ef865a79a14d9da12bc984c918a6f6423e73c34c3606b93e3e4131268
MD5 4139de4424302ba039c03907ad762ac7
BLAKE2b-256 ba71978ef038a8130a365511dae5ee6fd429dbd045bc69b352fcc840a1f3a61c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mpw-0.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 d34ab014821adf8c7faca2db4520e9e7e737c4f6b3f28ed3ed69d0f183db0c24
MD5 7e92ecde9ac03b7eae27d05a5258794a
BLAKE2b-256 d02fe15f8afb1d00ddfd3e46349a87df12f5084634405210fa85d64ede0a791b

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