{ "info": { "author": "Eric Hopper", "author_email": "hopper@omnifarious.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Security", "Topic :: Utilities" ], "description": "MakePW Secure Password Generator\n================================\n\n## Overview ##\n\nA Python command line utility I put together so I can use a master\npassword and have it generate a site specific password for each site\nthat needs a password. I'm in the process of adding a Javascript\nimplementation for use in a web browser and and an Android applet\nimplementation.\n\nThe passwords generated are carefully massaged to try to fit just\nabout every site's password requirements and keep at least 60 bits of\nentropy in every password.\n\nIt should work both in Python 2.7 and any version of Python 3.\n\n## How To Use It ##\n\n### Example Usage ###\n\n```text\n$ ./makepw.py -e --site=google.com\nPassword: \ncheck_site hash is: 4Uwtzpj+3Jt0Jp\n6TsgvLT+vbXZSw\n```\n\nThe `check_site hash` uses a fixed and special site name to hash your\nmaster password. This allows you to see if you've mistyped your\npassword without revealing what it is. The `check_site hash` should\nalways the same for a given master password.\n\nIn this case, `6TsgvLT+vbXZSw` is the password you should use for\nGoogle. You can specify whatever you want to for the site name. It is\nmixed with your master password in an irreversible way to generate the\nsite password.\n\n### Program Help Message ###\n\n```text\n$ ./makepw.py --help\nusage: makepw.py [-h] [--iterations ITERS] [--site SITE] [--extra] [--old]\n [--format FORMAT] [--list-formats] [--random] [--no-check]\n\nGenerate a site password from a master password and a site name.\n\noptional arguments:\n -h, --help show this help message and exit\n --iterations ITERS, -i ITERS\n Number of hash iterations. Defaults to 200000. For the\n original behavior of a non-iterated hash, use an\n iteration count of 0.\n --site SITE, -s SITE Unique site or account identifier, usually the last\n two components of site domain name (aka slashdot.org).\n --extra, -e Backwards compatility - equivalent to --format\n stupid_policy14\n --old, -o Use old non-PBKDF2 function for generating the\n password. Not relevant with -r\n --format FORMAT, -f FORMAT\n Output format of resulting password. Defaults to\n 'stupid_policy13'. Use --list-formats for a list of\n supported formats.\n --list-formats, -l Print out a list of supported formats, like --help,\n this short-circuits any other function.\n --random, -r Use the OS secure random number generation to creae a\n random password instead of asking for a master\n password. Useful for generating master passwords, or\n with the xkcd algorithm. Implies --no-check and\n ignores the site name and --iterations.\n --no-check, -n Do not print out hash for check_site site. This hash\n can help you tell if you entered the wrong password.\n```\n\n## How It Works ##\n\nWhen not using `--random` mode, it uses the PKCS#5 v2.0 PBKDF2 with a\nlarge (but configurable) number of iterations to make sure that even if\nan attacker manages to get the plaintext password for a given site, it\nwill be practically impossible for them to reverse the hash and figure\nout the master password.\n\n## Known Bugs ##\n\nIt has a small bug in which it skips 'Z', 'z' and '9' for generating the\nuppercase, lowercase and digit characters. When implementing this for\nsome other language, this this bug should be faithfully replicated to\nmaintain compatibility and allow people to use any implementation for\nre-creating a password they created with a different implementation.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/Omnifarious/MakePW", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "makepw", "package_url": "https://pypi.org/project/makepw/", "platform": "", "project_url": "https://pypi.org/project/makepw/", "project_urls": { "Homepage": "https://bitbucket.org/Omnifarious/MakePW" }, "release_url": "https://pypi.org/project/makepw/2.0.1/", "requires_dist": null, "requires_python": ">=2.7", "summary": "Generate unique, deterministic, and secure passwords.", "version": "2.0.1" }, "last_serial": 5110958, "releases": { "2.0": [ { "comment_text": "", "digests": { "md5": "a1ffe632ca92b26255b9cdf3ff1d4375", "sha256": "6fe425137b3e8842fef6c986d7740900a0e3c71335d65fd253c6a7ee3a461a2a" }, "downloads": -1, "filename": "makepw-2.0.tar.gz", "has_sig": false, "md5_digest": "a1ffe632ca92b26255b9cdf3ff1d4375", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 21086, "upload_time": "2019-02-24T19:32:41", "url": "https://files.pythonhosted.org/packages/02/ff/9725991664a3e2621b9c1df01d05f89c49997bb38c6f21220d686ecd8427/makepw-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2769531cb6e7d821d6c047649e5da0d5", "sha256": "82b97e7db4a1d8591cc49ec8a4d9242edb625f9d76dff8401cc80f554adaddd2" }, "downloads": -1, "filename": "makepw-2.0.1.tar.gz", "has_sig": false, "md5_digest": "2769531cb6e7d821d6c047649e5da0d5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 21749, "upload_time": "2019-04-07T20:40:39", "url": "https://files.pythonhosted.org/packages/c0/dd/565483ffa9e095ea9244ebf332a8b098d66e3a7f41c18ee1f3307585ba6c/makepw-2.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2769531cb6e7d821d6c047649e5da0d5", "sha256": "82b97e7db4a1d8591cc49ec8a4d9242edb625f9d76dff8401cc80f554adaddd2" }, "downloads": -1, "filename": "makepw-2.0.1.tar.gz", "has_sig": false, "md5_digest": "2769531cb6e7d821d6c047649e5da0d5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 21749, "upload_time": "2019-04-07T20:40:39", "url": "https://files.pythonhosted.org/packages/c0/dd/565483ffa9e095ea9244ebf332a8b098d66e3a7f41c18ee1f3307585ba6c/makepw-2.0.1.tar.gz" } ] }