{ "info": { "author": "Daniel Wolf", "author_email": "danielrwolf5@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "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", "Programming Language :: Python :: 3.6", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "DEPRECATION WARNING\n===================\n\nThis package has been moved! Please install using `pip install zxcvbn`.\n\nhttps://pypi.python.org/pypi/zxcvbn\n\n\n|Build Status|\n\nzxcvbn-python\n=============\n\nA realistic password strength estimator.\n\nThis is a Python implementation of the library created by the team at Dropbox.\nThe original library, written for JavaScript, can be found\n`here `__.\n\nWhile there may be other Python ports available, this one is the most up\nto date and is recommended by the original developers of zxcvbn at this\ntime.\n\n\nFeatures\n--------\n- **Tested in Python versions 2.6-2.7, 3.3-3.6**\n- Accepts user data to be added to the dictionaries that are tested against (name, birthdate, etc)\n- Gives a score to the password, from 0 (terrible) to 4 (great)\n- Provides feedback on the password and ways to improve it\n- Returns time estimates on how long it would take to guess the password in different situations\n\nInstallation\n------------\n\nInstall the package using pip: ``pip install zxcvbn-python``\n\nUsage\n-----\n\nPass a password as the first parameter, and a list of user-provided\ninputs as the ``user_inputs`` parameter (optional).\n\n.. code:: python\n\n from zxcvbn import zxcvbn\n\n results = zxcvbn('JohnSmith123', user_inputs=['John', 'Smith'])\n\n print(results)\n\nOutput:\n\n::\n\n {\n 'password': 'JohnSmith123',\n 'score': 2,\n 'guesses': 2567800,\n 'guesses_log10': 6.409561194521849,\n 'calc_time': datetime.timedelta(0, 0, 5204)\n 'feedback': {\n 'warning': '',\n 'suggestions': [\n 'Add another word or two. Uncommon words are better.',\n \"Capitalization doesn't help very much\"\n ]\n },\n 'crack_times_display': {\n 'offline_fast_hashing_1e10_per_second': 'less than a second'\n 'offline_slow_hashing_1e4_per_second': '4 minutes',\n 'online_no_throttling_10_per_second': '3 days',\n 'online_throttling_100_per_hour': '3 years',\n },\n 'crack_times_seconds': {\n 'offline_fast_hashing_1e10_per_second': 0.00025678,\n 'offline_slow_hashing_1e4_per_second': 256.78\n 'online_no_throttling_10_per_second': 256780.0,\n 'online_throttling_100_per_hour': 92440800.0,\n },\n 'sequence': [{\n 'matched_word': 'john',\n 'rank': 2,\n 'pattern': 'dictionary',\n 'reversed': False,\n 'token': 'John',\n 'l33t': False,\n 'uppercase_variations': 2,\n 'i': 0,\n 'guesses': 50,\n 'l33t_variations': 1,\n 'dictionary_name': 'male_names',\n 'base_guesses': 2,\n 'guesses_log10': 1.6989700043360185,\n 'j': 3\n }, {\n 'matched_word': 'smith123',\n 'rank': 12789,\n 'pattern': 'dictionary',\n 'reversed': False,\n 'token': 'Smith123',\n 'l33t': False,\n 'uppercase_variations': 2,\n 'i': 4,\n 'guesses': 25578,\n 'l33t_variations': 1,\n 'dictionary_name': 'passwords',\n 'base_guesses': 12789,\n 'guesses_log10': 4.407866583030775,\n 'j': 11\n }],\n }\n\n\nCustom Ranked Dictionaries\n--------------------------\n\nIn order to support more languages or just add password dictionaries of your own, there is a helper function you may use.\n\n.. code:: python\n\n from zxcvbn.matching import add_frequency_lists\n\n add_frequency_lists({\n 'my_list': ['foo', 'bar'],\n 'another_list': ['baz']\n })\n\nThese lists will be added to the current ones, but you can also overwrite the current ones if you wish.\nThe lists you add should be in order of how common the word is used with the most common words appearing first.\n\nCLI\n~~~\n\nYou an also use zxcvbn from the command line::\n\n echo 'password' | zxcvbn --user-input | jq\n\nYou can also execute the zxcvbn module::\n\n echo 'password' | python -m zxcvbn --user-input | jq\n\n\nContribute\n----------\n\n- Report an Issue: https://github.com/dwolfhub/zxcvbn-python/issues\n- Submit a Pull Request: https://github.com/dwolfhub/zxcvbn-python/pulls\n\nLicense\n-------\n\nThe project is licensed under the MIT license.\n\n\n.. |Build Status| image:: https://travis-ci.org/dwolfhub/zxcvbn-python.svg?branch=master\n :target: https://travis-ci.org/dwolfhub/zxcvbn-python", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/dwolfhub/zxcvbn-python/tarball/v4.4.24", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dwolfhub/zxcvbn-python", "keywords": "zxcvbn,password,security", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "zxcvbn-python", "package_url": "https://pypi.org/project/zxcvbn-python/", "platform": "", "project_url": "https://pypi.org/project/zxcvbn-python/", "project_urls": { "Download": "https://github.com/dwolfhub/zxcvbn-python/tarball/v4.4.24", "Homepage": "https://github.com/dwolfhub/zxcvbn-python" }, "release_url": "https://pypi.org/project/zxcvbn-python/4.4.24/", "requires_dist": null, "requires_python": "", "summary": "", "version": "4.4.24" }, "last_serial": 3755538, "releases": { "4.4.1": [ { "comment_text": "", "digests": { "md5": "bdd6374d0f546f4f5e2bc13cd2e49f67", "sha256": "e31a361cf3739b6824ae29788440f594945b7a9f64f8393c6681d8c484fabf89" }, "downloads": -1, "filename": "zxcvbn-python-4.4.1.tar.gz", "has_sig": false, "md5_digest": "bdd6374d0f546f4f5e2bc13cd2e49f67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403224, "upload_time": "2016-12-08T20:05:51", "url": "https://files.pythonhosted.org/packages/4f/af/4e7046f63c18a043dc742b982d55a24fbe9e4e68f700a203687b5fad6e21/zxcvbn-python-4.4.1.tar.gz" } ], "4.4.10": [ { "comment_text": "", "digests": { "md5": "75300d5839434b553985f1ea34388a04", "sha256": "9cab49dca5e91382ba0892273694371f6760415a6de0068e1a5fbcf8d83602e3" }, "downloads": -1, "filename": "zxcvbn-python-4.4.10.tar.gz", "has_sig": false, "md5_digest": "75300d5839434b553985f1ea34388a04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403281, "upload_time": "2016-12-29T15:53:57", "url": "https://files.pythonhosted.org/packages/55/96/27f6a0f0b2f8471f80c902d63ff581639572e9e2df7a455cf7d89dc11292/zxcvbn-python-4.4.10.tar.gz" } ], "4.4.11": [ { "comment_text": "", "digests": { "md5": "376c9537d1880e75d48b2909d2d03e0a", "sha256": "e024d473d5b6b29b56e379be27ae4ff6d728bcbc902b7af8b441402053a22a62" }, "downloads": -1, "filename": "zxcvbn-python-4.4.11.tar.gz", "has_sig": false, "md5_digest": "376c9537d1880e75d48b2909d2d03e0a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403281, "upload_time": "2017-01-09T20:41:32", "url": "https://files.pythonhosted.org/packages/46/37/7a73d4accf98138744cbf05f3f3885b8beee3ef064e751b2e5d49448e7ee/zxcvbn-python-4.4.11.tar.gz" } ], "4.4.12": [ { "comment_text": "", "digests": { "md5": "ca8e19e3ff37c16e88bd0f70e3fabdad", "sha256": "f8cda13aec0c14f2ae9cd85057c12628c2c059a10ca7e02dcab26b9215000de4" }, "downloads": -1, "filename": "zxcvbn-python-4.4.12.tar.gz", "has_sig": false, "md5_digest": "ca8e19e3ff37c16e88bd0f70e3fabdad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403246, "upload_time": "2017-01-09T22:11:02", "url": "https://files.pythonhosted.org/packages/0a/f7/575738589221c614aaca5f5b6c3b74ecf3cf6503a76b42608bcd0b1a4c94/zxcvbn-python-4.4.12.tar.gz" } ], "4.4.13": [ { "comment_text": "", "digests": { "md5": "6d5d2c9704477f02f63f85fc9ea5364d", "sha256": "c746cf182bafe8f1dc4163a471111dd385bfb27fe893534ac00b7faf6f7e9058" }, "downloads": -1, "filename": "zxcvbn-python-4.4.13.tar.gz", "has_sig": false, "md5_digest": "6d5d2c9704477f02f63f85fc9ea5364d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 404742, "upload_time": "2017-01-24T22:25:09", "url": "https://files.pythonhosted.org/packages/b3/bc/3f00dbcfe43e592c5e694e0e98c524dbd41ccd63b4ea3e56385cdb3a7f33/zxcvbn-python-4.4.13.tar.gz" } ], "4.4.14": [ { "comment_text": "", "digests": { "md5": "5c41b2ea7b7421a8f8da505bbba3bbd4", "sha256": "fd3a46536035851571e3f4142b64d6e7bcf0ade3cd40d8fecae7a1243945e327" }, "downloads": -1, "filename": "zxcvbn-python-4.4.14.tar.gz", "has_sig": false, "md5_digest": "5c41b2ea7b7421a8f8da505bbba3bbd4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 405082, "upload_time": "2017-01-29T01:55:05", "url": "https://files.pythonhosted.org/packages/e9/56/eea9cf0fab96ad354d091ee05a38f037d6df8765b4e6cba3f6a812ff87f3/zxcvbn-python-4.4.14.tar.gz" } ], "4.4.15": [ { "comment_text": "", "digests": { "md5": "bd7f8d974dcd7e8f6f4a50950f1178f0", "sha256": "ef982a382518d217d353a42093aa8bb8608a50bc2df559c08885bba166782cd0" }, "downloads": -1, "filename": "zxcvbn-python-4.4.15.tar.gz", "has_sig": false, "md5_digest": "bd7f8d974dcd7e8f6f4a50950f1178f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 405176, "upload_time": "2017-06-20T21:50:47", "url": "https://files.pythonhosted.org/packages/5e/1f/531b038175f77f75aa0f4eb9f67da232f38a8ee5c37957747115b3e83f59/zxcvbn-python-4.4.15.tar.gz" } ], "4.4.16": [ { "comment_text": "", "digests": { "md5": "7a4c6f3a6448093802343df15e36cea0", "sha256": "63cc481bfb8950c43d4a87926be22cf8c4bb281ef7f818a8ef2d30b55a97c3e0" }, "downloads": -1, "filename": "zxcvbn-python-4.4.16.tar.gz", "has_sig": false, "md5_digest": "7a4c6f3a6448093802343df15e36cea0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 405167, "upload_time": "2017-08-24T23:04:03", "url": "https://files.pythonhosted.org/packages/db/bf/6d2e76250d515352beb641c8a6504bf28b57ed7f40cfe0657e9446404390/zxcvbn-python-4.4.16.tar.gz" } ], "4.4.17": [ { "comment_text": "", "digests": { "md5": "84c6f5d681f61c6e37dc94465df9ed19", "sha256": "49f7278c293f566ea74b9fec2157cd2e1faad5aafd673828ebc9e50a0eb95b6c" }, "downloads": -1, "filename": "zxcvbn_python-4.4.17-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "84c6f5d681f61c6e37dc94465df9ed19", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 406412, "upload_time": "2018-01-12T21:19:40", "url": "https://files.pythonhosted.org/packages/22/28/3aa2c5a571e083b8b56755c248e9070ef2a63445a1ae8c9e0767913a1a27/zxcvbn_python-4.4.17-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c7b4807b76039b440d34804fe2024f97", "sha256": "d513feebdac6e1b174a7b070005e683d3aa41728224f9c273ae120efaa4e578a" }, "downloads": -1, "filename": "zxcvbn-python-4.4.17.tar.gz", "has_sig": false, "md5_digest": "c7b4807b76039b440d34804fe2024f97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 405420, "upload_time": "2017-10-16T21:36:47", "url": "https://files.pythonhosted.org/packages/02/25/4144e32adba0bbb60c0641e4896f85bd91dabc86d03b698a06293a1ce684/zxcvbn-python-4.4.17.tar.gz" } ], "4.4.18": [ { "comment_text": "", "digests": { "md5": "f2ff7bf7c45fe0b2681b43198235b9d7", "sha256": "a9beaf3fde32957ea13f979f5dd61c0023af0da7d3e1cb9bbc0c000770be12f6" }, "downloads": -1, "filename": "zxcvbn_python-4.4.18-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f2ff7bf7c45fe0b2681b43198235b9d7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 406415, "upload_time": "2017-10-17T19:21:42", "url": "https://files.pythonhosted.org/packages/06/ed/430346906c706cb55c9641cba6b88b5e0b17873b578d1ae881e7b3b1856a/zxcvbn_python-4.4.18-py2.py3-none-any.whl" } ], "4.4.19": [ { "comment_text": "", "digests": { "md5": "1ec019e6925d9c237db954fcacaa27bc", "sha256": "f31528811be82c97dbeb1703e5d8120ae6e39624bba74b242e37b9f2388b3941" }, "downloads": -1, "filename": "zxcvbn_python-4.4.19-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1ec019e6925d9c237db954fcacaa27bc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 406419, "upload_time": "2018-01-12T21:20:42", "url": "https://files.pythonhosted.org/packages/4c/ae/dff30103532c3dea11ab6fa8e1277afc1f5fa4c5dd4da2accf6d5837db4c/zxcvbn_python-4.4.19-py2.py3-none-any.whl" } ], "4.4.2": [ { "comment_text": "", "digests": { "md5": "c1c848a13835e081573ca102a1b80f8f", "sha256": "2922628aa78c4f636a57b5429c96737632e8ba171634a5596fb4e7702cc6c8ba" }, "downloads": -1, "filename": "zxcvbn-python-4.4.2.tar.gz", "has_sig": false, "md5_digest": "c1c848a13835e081573ca102a1b80f8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403233, "upload_time": "2016-12-08T20:38:24", "url": "https://files.pythonhosted.org/packages/12/47/09e6b0b169060ca2412053669defb5347c9b0f4e020c4d34d873fdb8db7f/zxcvbn-python-4.4.2.tar.gz" } ], "4.4.20": [ { "comment_text": "", "digests": { "md5": "72f1c2bbe1b1af20f874ad58f3ed0d85", "sha256": "d85a33e685d6d4513cdb9c83087fc4a34a7e2f683a368777c485cfe4b494fe4d" }, "downloads": -1, "filename": "zxcvbn-python-4.4.20.tar.gz", "has_sig": false, "md5_digest": "72f1c2bbe1b1af20f874ad58f3ed0d85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 405402, "upload_time": "2018-04-02T17:59:02", "url": "https://files.pythonhosted.org/packages/ed/75/b0d991b404b73eb7de726c0097d5716966eb7db462cf397e81ecfe0599de/zxcvbn-python-4.4.20.tar.gz" } ], "4.4.21": [ { "comment_text": "", "digests": { "md5": "c18c179c43fe3091e7411aa0b3d00de4", "sha256": "b0cda67fa18f51fa4e9d0dc3586d07a9cb8c8f4b12903cc21110c929bef49bcc" }, "downloads": -1, "filename": "zxcvbn-python-4.4.21.tar.gz", "has_sig": false, "md5_digest": "c18c179c43fe3091e7411aa0b3d00de4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 407613, "upload_time": "2018-04-02T18:07:20", "url": "https://files.pythonhosted.org/packages/77/2c/739f33a801a0f402ac865cedc9ef03325553e390ca4c49bf147c374963b9/zxcvbn-python-4.4.21.tar.gz" } ], "4.4.22": [ { "comment_text": "", "digests": { "md5": "f33d48a185857a1cf168c8c10db5e19a", "sha256": "402d4222dc9994baed66a19a1cf5cb5c3fafd065f9cabc4cf7d5a2915e980979" }, "downloads": -1, "filename": "zxcvbn-python-4.4.22.tar.gz", "has_sig": false, "md5_digest": "f33d48a185857a1cf168c8c10db5e19a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 407211, "upload_time": "2018-04-02T18:18:24", "url": "https://files.pythonhosted.org/packages/da/f1/d1fc2a7eab5173a192607471eaf08904547a67df33c1a8b2fd1db3b0051f/zxcvbn-python-4.4.22.tar.gz" } ], "4.4.23": [ { "comment_text": "", "digests": { "md5": "a7fc42b641ee213b59a0873bbc199393", "sha256": "0d12b00efe29732f00c02b33608ac40c118f6c682a1f5f90cb8fda20864990e1" }, "downloads": -1, "filename": "zxcvbn-python-4.4.23.tar.gz", "has_sig": false, "md5_digest": "a7fc42b641ee213b59a0873bbc199393", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 407813, "upload_time": "2018-04-09T15:35:47", "url": "https://files.pythonhosted.org/packages/37/92/616c905db032299c0fdca73fce0532a1ccf6ba095b885ec6d40efb31349f/zxcvbn-python-4.4.23.tar.gz" } ], "4.4.24": [ { "comment_text": "", "digests": { "md5": "a056d64bcd46f21b0ac945ac29f9f325", "sha256": "900b28cc5e96be4091d8778f19f222832890264e338765a1c1c09fca2db64b2d" }, "downloads": -1, "filename": "zxcvbn-python-4.4.24.tar.gz", "has_sig": false, "md5_digest": "a056d64bcd46f21b0ac945ac29f9f325", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 408001, "upload_time": "2018-04-11T13:39:22", "url": "https://files.pythonhosted.org/packages/63/9c/c3f90da63d6bd0e04948386bdf426212f1f8271d544615a5c8d0d03267ef/zxcvbn-python-4.4.24.tar.gz" } ], "4.4.5": [ { "comment_text": "", "digests": { "md5": "6aa17076da2d2e14601bdf3e659efbc6", "sha256": "5f115656244d1599bba67642e590eb6a7aea48de66983d2669a9502266fa8b28" }, "downloads": -1, "filename": "zxcvbn-python-4.4.5.tar.gz", "has_sig": false, "md5_digest": "6aa17076da2d2e14601bdf3e659efbc6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403257, "upload_time": "2016-12-15T23:02:18", "url": "https://files.pythonhosted.org/packages/f1/7e/fe300223405b869810b2be11d59796d6f5273728a934daabd7895562ed35/zxcvbn-python-4.4.5.tar.gz" } ], "4.4.6": [ { "comment_text": "", "digests": { "md5": "2d3e66219bc0e27ea3aa341151d14fb5", "sha256": "f6893856242f4ee9d9f4dbcf0db9af80744eea75309a70c86bc79f37c24ec5e9" }, "downloads": -1, "filename": "zxcvbn-python-4.4.6.tar.gz", "has_sig": false, "md5_digest": "2d3e66219bc0e27ea3aa341151d14fb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403238, "upload_time": "2016-12-18T04:53:14", "url": "https://files.pythonhosted.org/packages/0e/0e/164daff9b9453400fea2e996e9f0e90618cb82b1da07ac56a2404590f479/zxcvbn-python-4.4.6.tar.gz" } ], "4.4.7": [ { "comment_text": "", "digests": { "md5": "faa5468ff229c69f5712e04f36d38c06", "sha256": "0dd201a5c7809fa5f1395f15e648fd1f53b18bf70f082b4b8deefb47633da1af" }, "downloads": -1, "filename": "zxcvbn-python-4.4.7.tar.gz", "has_sig": false, "md5_digest": "faa5468ff229c69f5712e04f36d38c06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403271, "upload_time": "2016-12-18T04:58:32", "url": "https://files.pythonhosted.org/packages/18/19/36d6af1f24ca3e4516a9dd71cb966f5008cd904f13814ee11d8560d3464f/zxcvbn-python-4.4.7.tar.gz" } ], "4.4.8": [ { "comment_text": "", "digests": { "md5": "f6349333e5c68de19df72e706ebe83a0", "sha256": "67ca88df0cc6ec07a0d5f1cc59961a08cdbbf861ff92649e1ef5fe5d7b27894f" }, "downloads": -1, "filename": "zxcvbn-python-4.4.8.tar.gz", "has_sig": false, "md5_digest": "f6349333e5c68de19df72e706ebe83a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403270, "upload_time": "2016-12-27T04:13:44", "url": "https://files.pythonhosted.org/packages/10/68/166e804a5375d200a1df78a599e5a195a30c27f059e956f29a648bc7f567/zxcvbn-python-4.4.8.tar.gz" } ], "4.4.9": [ { "comment_text": "", "digests": { "md5": "484e4814415392757e3adfb92dba9f0b", "sha256": "0130d1f251fc41dd80b2de571bf5fa6ffa726061bb313a4026d55ba566d4237c" }, "downloads": -1, "filename": "zxcvbn-python-4.4.9.tar.gz", "has_sig": false, "md5_digest": "484e4814415392757e3adfb92dba9f0b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 403272, "upload_time": "2016-12-27T04:26:50", "url": "https://files.pythonhosted.org/packages/a6/13/bfc4a53a8759eecd2f294d149e4b554b8d72f1fa1bd99d7b8478503b2541/zxcvbn-python-4.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a056d64bcd46f21b0ac945ac29f9f325", "sha256": "900b28cc5e96be4091d8778f19f222832890264e338765a1c1c09fca2db64b2d" }, "downloads": -1, "filename": "zxcvbn-python-4.4.24.tar.gz", "has_sig": false, "md5_digest": "a056d64bcd46f21b0ac945ac29f9f325", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 408001, "upload_time": "2018-04-11T13:39:22", "url": "https://files.pythonhosted.org/packages/63/9c/c3f90da63d6bd0e04948386bdf426212f1f8271d544615a5c8d0d03267ef/zxcvbn-python-4.4.24.tar.gz" } ] }