{ "info": { "author": "Matthias Voppichler", "author_email": "xmatthias@outlook.com", "bugtrack_url": null, "classifiers": [], "description": "# pywnedPasswords\n\n[![Build Status](https://travis-ci.org/xmatthias/pywnedpasswords.svg?branch=master)](https://travis-ci.org/xmatthias/pywnedpasswords)\n\nThis script uses the pwnedpasswords.com v2 api to check your password in\na secure way (using the [K-anonymity](https://en.wikipedia.org/wiki/K-anonymity) method)\n\nThe full Hash is never transmitted over the wire, only the first 5 characters.\nThe comparison happens offline.\n\nSpecial thanks to Troy Hunt ([@troyhunt](https://twitter.com/troyhunt)) for making this script possible.\n\n## Installation\n\n``` bash\npip install pywnedpasswords\n```\n\n## Usage\n\n### Interactive \n\n``` bash\npywnedpasswords\n```\n\nInsert your password when asked.\n\nthe output will either be:\n\n> Password to check:\n> \n> Found your password 47205 times.\n\nor in case your password is secure\n\n> Password to check:\n> \n> Your password did not appear in PwnedPasswords yet.\n\n\n### Passing the password as a command line argument\n\n**Discouraged - as it might leaves the password in your shell history**\n\n``` bash\npywnedpasswords Passw0rd\n```\n\n> Found your password 46980 times.\n\n\n### Piping the password \n\n**Discouraged - as it might leaves the password in your shell history**\n\n``` bash\necho -n 'Passw0rd!' | pywnedpasswords \n```\n\n> Found your password 46980 times.\n\n### Reading passwords from a file \n\n\n``` bash\npywnedpasswords -f list-of-passwords.txt\n```\n\nResult is in the form: `: `. `0` meaning the password is not known from Have I Been Pwned yet.\n\n>
\n> 0: 7026\n> 1: 45337\n> 2: 376\n> 3: 51\n> 4: 27\n> 5: 11\n> 6: 136\n> 7: 1\n> 8: 6\n> 9: 1\n> 10: 0\n> 11: 0\n> 12: 0\n> 
\n\n\n\n## Exit code\n\nThe `pywnedpasswords` exits with code `2` if the password is know of Have I Been Pwned already, and exit code `0` otherwise.\n\n\u00a9 xmatthias 2018", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/xmatthias/pywnedpasswords", "keywords": "pwnedpasswords,passwords,pwned,security", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pywnedpasswords", "package_url": "https://pypi.org/project/pywnedpasswords/", "platform": "", "project_url": "https://pypi.org/project/pywnedpasswords/", "project_urls": { "Homepage": "http://github.com/xmatthias/pywnedpasswords", "Source Code": "http://github.com/xmatthias/pywnedpasswords" }, "release_url": "https://pypi.org/project/pywnedpasswords/0.65/", "requires_dist": null, "requires_python": ">=3", "summary": "Client for HIBP passwords api using K-Anonymity method", "version": "0.65" }, "last_serial": 3818544, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "340e93d7b22cafdc0ad35fe3e719df6b", "sha256": "b679113f8771226982b3fb9e6783f481132f080ca682d56a99c7c057548ab17d" }, "downloads": -1, "filename": "pywnedpasswords-0.1-py3.6.egg", "has_sig": false, "md5_digest": "340e93d7b22cafdc0ad35fe3e719df6b", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3", "size": 4594, "upload_time": "2018-02-22T19:08:25", "url": "https://files.pythonhosted.org/packages/1d/6e/87c5e6a1e56abc5347bdf9dfc99e9ec4e16a44d80b0bb5ec1761f68fa865/pywnedpasswords-0.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "5f6b4230a049559778327d01713a535a", "sha256": "29bf780fa714c39a547a2f930334b369dbec1bda54caef91b20aa98e2f332013" }, "downloads": -1, "filename": "pywnedpasswords-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5f6b4230a049559778327d01713a535a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4158, "upload_time": "2018-02-22T19:08:24", "url": "https://files.pythonhosted.org/packages/bb/b5/5eef9459269965453ab102238344ef751a9551db9ec55b36523cc0ee4861/pywnedpasswords-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3ed8bf47ecc72b74924849c45c24521a", "sha256": "cbfbb1b0cfe42e5a2c064fd99d44ea1321ee104af3e326eccb38a837085c1639" }, "downloads": -1, "filename": "pywnedpasswords-0.1.tar.gz", "has_sig": false, "md5_digest": "3ed8bf47ecc72b74924849c45c24521a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 1830, "upload_time": "2018-02-22T19:12:04", "url": "https://files.pythonhosted.org/packages/32/11/b0ce1c4cf2d11f74cfbd3a126307ebd11e5660e2a25faff33b8c6a8dcb0f/pywnedpasswords-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "011587630e1f310f947520dccc9840d9", "sha256": "e70ce5bc5ec5fb01e20614bb70e3d41d4b3ed8f3dfa52c0117fcfd8087b78834" }, "downloads": -1, "filename": "pywnedpasswords-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "011587630e1f310f947520dccc9840d9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4891, "upload_time": "2018-02-22T19:29:50", "url": "https://files.pythonhosted.org/packages/47/a6/c1e20846aa8926c15deee5ba93fbccabfe15d344bfb796c5db023716bc86/pywnedpasswords-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c56205c73bb84bcdf8e12f54d430bc3f", "sha256": "5fe1ab0f3e44032e5c14d1c7c732fe89ee49e511e169b8b51f3625d0192a9bf9" }, "downloads": -1, "filename": "pywnedpasswords-0.2.tar.gz", "has_sig": false, "md5_digest": "c56205c73bb84bcdf8e12f54d430bc3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2108, "upload_time": "2018-02-22T19:27:14", "url": "https://files.pythonhosted.org/packages/80/10/bfdd38a40c277fbf380f222ddaf29f4c2ab6352faa52e8e4754fe3c00d22/pywnedpasswords-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "abc45ad9e8a2e50f6d179ced84cc058c", "sha256": "1a63f38279b24939ff7f6f7bc880623d016953a92ccfb715203ea2568d86a89b" }, "downloads": -1, "filename": "pywnedpasswords-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "abc45ad9e8a2e50f6d179ced84cc058c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4915, "upload_time": "2018-02-22T19:43:14", "url": "https://files.pythonhosted.org/packages/b0/f7/c29f375703337291e6bd3bae0780c6295ecbb51808d8419e616e7802e4d7/pywnedpasswords-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "edfb8195b24c2f774290fd42e11b9c1c", "sha256": "601d6ee2f936eb4613f47475422194143907c3edbbd96d62524d6a6fbc0a08a0" }, "downloads": -1, "filename": "pywnedpasswords-0.3.tar.gz", "has_sig": false, "md5_digest": "edfb8195b24c2f774290fd42e11b9c1c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2127, "upload_time": "2018-02-22T19:43:15", "url": "https://files.pythonhosted.org/packages/0b/14/a410ed0e107d402528b5a4732632422a272d44d0035196ac5a833f143e5d/pywnedpasswords-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "83a58a0f2504caf7a1340bd94fb6e9eb", "sha256": "baa892e404001c3be882f558cc7a8e4566697b91d63989617fa58d2e2960fdcd" }, "downloads": -1, "filename": "pywnedpasswords-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "83a58a0f2504caf7a1340bd94fb6e9eb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 4958, "upload_time": "2018-02-22T19:54:22", "url": "https://files.pythonhosted.org/packages/43/59/9f2cbadac7431ddb4d2576ec1d87115e6c2e9a7a6d3f3d700c5cbf0fa1c7/pywnedpasswords-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f94a21ced89e2c04172665f539147a5", "sha256": "335b5e0bf2838c15203b689fa46c217639474d9b49f1a31eb751f6d655f232d7" }, "downloads": -1, "filename": "pywnedpasswords-0.4.tar.gz", "has_sig": false, "md5_digest": "2f94a21ced89e2c04172665f539147a5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2442, "upload_time": "2018-02-22T19:52:43", "url": "https://files.pythonhosted.org/packages/e8/af/18b423e57445a34ccf32b476726b746e62c4e77efebcdd9ea615724bff22/pywnedpasswords-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "8be5a79def4a155c58673f63ecab1169", "sha256": "3cb4d4ca096f0cf42f85212c8138c3c6d4f8330030e4af888aec6296b07ad6b5" }, "downloads": -1, "filename": "pywnedpasswords-0.5.tar.gz", "has_sig": false, "md5_digest": "8be5a79def4a155c58673f63ecab1169", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2320, "upload_time": "2018-03-09T21:58:53", "url": "https://files.pythonhosted.org/packages/5b/f4/da6b334e7343221fa5840099ec3687e2c7b5de1c17e19b90fb3ad510a71a/pywnedpasswords-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "e71b836b4569651de56b4e3d4c5173a6", "sha256": "f1486a325d78a55bc41ae4fc9612ec2b03adbed848c221e2b0c08efc565b6998" }, "downloads": -1, "filename": "pywnedpasswords-0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e71b836b4569651de56b4e3d4c5173a6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6899, "upload_time": "2018-04-29T11:07:33", "url": "https://files.pythonhosted.org/packages/58/63/4b8e88e9239e0c48d678169cd3d065937e530c0ecee2b13578ef395c9615/pywnedpasswords-0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da77e6f0fff3c45ff7338dc2d34da3de", "sha256": "91f12773781a2b36a70d5c90f35f2af248ef19b7c1decb165479d9ff76e4a758" }, "downloads": -1, "filename": "pywnedpasswords-0.6.tar.gz", "has_sig": false, "md5_digest": "da77e6f0fff3c45ff7338dc2d34da3de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4293, "upload_time": "2018-04-29T11:05:13", "url": "https://files.pythonhosted.org/packages/59/f9/1c25cd6ba9967ba5082862d9814e297e1e2766a5fa07f6906f28392b9a51/pywnedpasswords-0.6.tar.gz" } ], "0.61": [ { "comment_text": "", "digests": { "md5": "4722388c9e1eb56b85e1c40dde0d25d3", "sha256": "5b798809977dcfa11fe35be46caa1ad7a4cba49c01f1fa8c96e13332494070a5" }, "downloads": -1, "filename": "pywnedpasswords-0.61-py3-none-any.whl", "has_sig": false, "md5_digest": "4722388c9e1eb56b85e1c40dde0d25d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 6916, "upload_time": "2018-04-29T11:07:53", "url": "https://files.pythonhosted.org/packages/f7/4e/a8ee877074284f3407dc75643ad16535d7eac529552b563f1a128285825b/pywnedpasswords-0.61-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82a1cdd646568ae8cad4bc4a759e76bd", "sha256": "8c3f2c45ba549b7249565494caceab54a64992616ec37f0b3e701fe86dab12ae" }, "downloads": -1, "filename": "pywnedpasswords-0.61.tar.gz", "has_sig": false, "md5_digest": "82a1cdd646568ae8cad4bc4a759e76bd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4298, "upload_time": "2018-04-29T11:07:55", "url": "https://files.pythonhosted.org/packages/20/8f/eea58e2af02655fffde66ae684a20405bba5c359ba2976fa9eddeac58ec6/pywnedpasswords-0.61.tar.gz" } ], "0.62": [ { "comment_text": "", "digests": { "md5": "e5f61e8601ca3ae4adc3d2dc370801e5", "sha256": "6300bb75cc46d264a7de0b65316dec149c6a1599977eb3422832d4439ad121e2" }, "downloads": -1, "filename": "pywnedpasswords-0.62.tar.gz", "has_sig": false, "md5_digest": "e5f61e8601ca3ae4adc3d2dc370801e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4030, "upload_time": "2018-04-29T11:11:04", "url": "https://files.pythonhosted.org/packages/24/f4/c96e52a135055b3e2b8aef9a7f35ff844a90ec48a9497350a54813ee4e12/pywnedpasswords-0.62.tar.gz" } ], "0.63": [ { "comment_text": "", "digests": { "md5": "1a96ff29aef2ba0de5bde7ede35d215f", "sha256": "eeae7051a940d5b1f20d8cefd1ad6c792e1cacb9219f0b4691674334f51367f1" }, "downloads": -1, "filename": "pywnedpasswords-0.63.tar.gz", "has_sig": false, "md5_digest": "1a96ff29aef2ba0de5bde7ede35d215f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4024, "upload_time": "2018-04-29T11:13:17", "url": "https://files.pythonhosted.org/packages/cf/b2/97352ecd9e49a52129749995d176cd95d4abf256a04d5f99ff893af83470/pywnedpasswords-0.63.tar.gz" } ], "0.65": [ { "comment_text": "", "digests": { "md5": "ef8b51300529bcccde236624a6a038b8", "sha256": "06aed822022c8f7177e4e969167ab1760606d5a735b80b657f3587fdecc43f43" }, "downloads": -1, "filename": "pywnedpasswords-0.65.tar.gz", "has_sig": false, "md5_digest": "ef8b51300529bcccde236624a6a038b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4015, "upload_time": "2018-04-29T11:25:59", "url": "https://files.pythonhosted.org/packages/3d/e1/ca80c3816c81ae8f7d065912b28e3b1c5d9ecab18c2422dd10af8210a51c/pywnedpasswords-0.65.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ef8b51300529bcccde236624a6a038b8", "sha256": "06aed822022c8f7177e4e969167ab1760606d5a735b80b657f3587fdecc43f43" }, "downloads": -1, "filename": "pywnedpasswords-0.65.tar.gz", "has_sig": false, "md5_digest": "ef8b51300529bcccde236624a6a038b8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 4015, "upload_time": "2018-04-29T11:25:59", "url": "https://files.pythonhosted.org/packages/3d/e1/ca80c3816c81ae8f7d065912b28e3b1c5d9ecab18c2422dd10af8210a51c/pywnedpasswords-0.65.tar.gz" } ] }