{ "info": { "author": "Aaron Gallagher", "author_email": "_@habnab.it", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Environment :: Console", "Intended Audience :: End Users/Desktop", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: OS Independent", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Security" ], "description": ".. image:: https://img.shields.io/travis/habnabit/passacre/master.svg?style=flat-square\n\n.. image:: https://img.shields.io/coveralls/habnabit/passacre/master.svg?style=flat-square\n\n.. image:: https://img.shields.io/coverity/scan/4886.svg?style=flat-square\n\n.. image:: https://img.shields.io/pypi/v/passacre.svg?style=flat-square\n\n.. image:: https://img.shields.io/pypi/l/passacre.svg?style=flat-square\n\n\n========\npassacre\n========\n\npassacre = password massacre\n(i.e. what happens when you use the same password on every site)\n\nPassacre is a method of repeatably deriving a different secure password for every site you use.\n\nThe way this works is that passacre takes the site's name, your username, and your master password\nand runs them through a cryptographically secure hash function\n(either the Keccak sponge function from SHA-3 or Skein/Threefish)\nto produce a password unique to that site.\nGiven the same inputs\n(site name, username, and master password),\nthis process will always produce the same password.\nThis means that your site passwords never need to be persisted,\nand since they're always ephemeral,\nyou don't have a file containing your passwords that's vulnerable to theft.\n\nMinimal documentation is available `on readthedocs `_.\n\nHere's how to use it for now::\n\n # for both keccak and skein generation:\n pip install 'passacre'\n # to be able to copy passwords, add the 'clipboard' extra:\n pip install 'passacre[clipboard]'\n # for YubiKey two-factor authentication, add the 'yubikey' extra:\n pip install 'passacre[yubikey]'\n # then set it up:\n mkdir -p ~/.config/passacre\n passacre init ~/.config/passacre/passacre.sqlite\n # then finally:\n passacre generate somesite.com", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/habnabit/passacre", "keywords": "", "license": "ISC", "maintainer": "", "maintainer_email": "", "name": "passacre-nobackend", "package_url": "https://pypi.org/project/passacre-nobackend/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/passacre-nobackend/", "project_urls": { "Homepage": "https://github.com/habnabit/passacre" }, "release_url": "https://pypi.org/project/passacre-nobackend/0.16.1.2/", "requires_dist": [ "pycapnp", "subprocess32; python_version < \"3.2\"", "PyYAML; extra == 'all'", "xerox; extra == 'all'", "ykpers-cffi; extra == 'all'", "xerox; extra == 'clipboard'", "PyYAML; extra == 'yaml'", "ykpers-cffi; extra == 'yubikey'" ], "requires_python": "", "summary": "better repeatable password generation", "version": "0.16.1.2" }, "last_serial": 2536195, "releases": { "0.16.1.0": [ { "comment_text": "", "digests": { "md5": "386e2238b919371206daf39d0d2a4f43", "sha256": "6b01c74e1d7569bfd958bf2a736064911b44320458508627de8dc46e0ef00b0f" }, "downloads": -1, "filename": "passacre_nobackend-0.16.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "386e2238b919371206daf39d0d2a4f43", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 91957, "upload_time": "2016-12-22T06:02:01", "url": "https://files.pythonhosted.org/packages/54/8b/87d29373fae375698a24f4bb8dfdd1803e172f4162d56c6dd77a449c4dc9/passacre_nobackend-0.16.1.0-py2.py3-none-any.whl" } ], "0.16.1.2": [ { "comment_text": "", "digests": { "md5": "ee196e91d4cf09be72bb68d60a174c82", "sha256": "2a4aed8ef68139f5c0e5ed809fd78734793e71ad3d8292cebad780d7d176f4cf" }, "downloads": -1, "filename": "passacre_nobackend-0.16.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee196e91d4cf09be72bb68d60a174c82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 92003, "upload_time": "2016-12-23T07:27:12", "url": "https://files.pythonhosted.org/packages/43/ff/801f58a6e54ac010fc2a65df4cbd44a6bdef4cf947d47a945266c3d59ebb/passacre_nobackend-0.16.1.2-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ee196e91d4cf09be72bb68d60a174c82", "sha256": "2a4aed8ef68139f5c0e5ed809fd78734793e71ad3d8292cebad780d7d176f4cf" }, "downloads": -1, "filename": "passacre_nobackend-0.16.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ee196e91d4cf09be72bb68d60a174c82", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 92003, "upload_time": "2016-12-23T07:27:12", "url": "https://files.pythonhosted.org/packages/43/ff/801f58a6e54ac010fc2a65df4cbd44a6bdef4cf947d47a945266c3d59ebb/passacre_nobackend-0.16.1.2-py2.py3-none-any.whl" } ] }