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.
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca17759ef865a79a14d9da12bc984c918a6f6423e73c34c3606b93e3e4131268 |
|
MD5 | 4139de4424302ba039c03907ad762ac7 |
|
BLAKE2b-256 | ba71978ef038a8130a365511dae5ee6fd429dbd045bc69b352fcc840a1f3a61c |
File details
Details for the file mpw-0.4-py2.py3-none-any.whl
.
File metadata
- Download URL: mpw-0.4-py2.py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34ab014821adf8c7faca2db4520e9e7e737c4f6b3f28ed3ed69d0f183db0c24 |
|
MD5 | 7e92ecde9ac03b7eae27d05a5258794a |
|
BLAKE2b-256 | d02fe15f8afb1d00ddfd3e46349a87df12f5084634405210fa85d64ede0a791b |