A Python implementation of the Master Password algorithm.
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.
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.
$ # 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
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
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.