{ "info": { "author": "Alexander Fink", "author_email": "python-bruteforce@alfink.de", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Intended Audience :: Other Audience", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Other/Nonlisted Topic" ], "description": "[![PyPI version](https://badge.fury.io/py/bruteforce.svg)](https://pypi.org/project/bruteforce/) [![](https://api.travis-ci.org/alfink/python-bruteforce.svg?branch=master)](https://travis-ci.org/alfink/python-bruteforce)\n# python-bruteforce\n\n## Description\n\nA python (2 and 3) package for fast and easy bruteforcing.\n\n## Installation\n\n```\npip install bruteforce\n```\n\n## Examples\n\n### Charwise\n\n```python\nfrom bruteforce.charwise import bruteforce\nimport string\n\ndef oracle(s):\n string = \"\".join(s) # required if join=None (default)\n return \"bruteforce\".startswith(string) or \"python\".startswith(string)\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=True, join=\"\"))\n# => bruteforce\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=True))\n# => ['b', 'r', 'u', 't', 'e', 'f', 'o', 'r', 'c', 'e']\n\nprint(bruteforce(oracle, string.ascii_uppercase, lazy=True))\n# => []\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=False, join=\"\"))\n# => ['python', 'bruteforce']\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=False, join=\"\", chars_per_iteration=3))\n# Notice: asserts length of solution is multiple of chars_per_iteration\n# => ['python', 'bruteforc']\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=False, join=\"\", max_length=7, chars_per_iteration=3))\n# Notice: lowers chars_per_iteration before reaching the end if max_length % chars_per_iteration != 0\n# => ['python', 'brutefo']\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=False, join=\"\", max_length=7, include_path=True))\n# => ['', 'p', 'py', 'pyt', 'pyth', 'pytho', 'python', 'b', 'br', 'bru', 'brut', 'brute', 'brutef', 'brutefo']\n\nprint(bruteforce(oracle, string.ascii_letters, lazy=False, join=\"\", max_length=7, include_path=True, dfs=False))\n# => ['', 'b', 'p', 'br', 'py', 'bru', 'pyt', 'brut', 'pyth', 'brute', 'pytho', 'brutef', 'python', 'brutefo']\n```\n\n### Binary Search\n\n```python\nimport string\n\nfrom bruteforce.binarysearch import bruteforce, MORE, LESS, EQUALS\n\ndef oracle(s, charset):\n secret = \"th1sisthes3cret\"\n if (len(s) > len(secret)):\n return MORE\n i = charset.index(s[len(s)-1])\n i2 = charset.index(secret[len(s)-1])\n if i < i2:\n return MORE\n elif i2 < i:\n return LESS\n else:\n return EQUALS\n\nprint(bruteforce(oracle, string.ascii_letters+string.digits))\n\n# => th1sisthes3cret\n\n```\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alfink/python-bruteforce", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "bruteforce", "package_url": "https://pypi.org/project/bruteforce/", "platform": "", "project_url": "https://pypi.org/project/bruteforce/", "project_urls": { "Homepage": "https://github.com/alfink/python-bruteforce" }, "release_url": "https://pypi.org/project/bruteforce/0.0.6/", "requires_dist": null, "requires_python": "", "summary": "A small package for fast and easy bruteforcing.", "version": "0.0.6" }, "last_serial": 3939639, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "35198114af219ca5685bca0d0891f8d9", "sha256": "d50578183f462ef93d3db82b79e4a55e47f3919cddfc5a84b8abeef3e320ab36" }, "downloads": -1, "filename": "bruteforce-0.0.2-py2-none-any.whl", "has_sig": false, "md5_digest": "35198114af219ca5685bca0d0891f8d9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3141, "upload_time": "2018-05-23T23:28:31", "url": "https://files.pythonhosted.org/packages/05/30/86b388f480995bef4a422f7a2ca5f34d55189bed0a0e9e9df620bfd4dd86/bruteforce-0.0.2-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c2300b7e33e2f3a593ab9effb57f56ea", "sha256": "92e7c2b952e0c892302b35e86da7d124e698907c9930618d0a955051b238de4e" }, "downloads": -1, "filename": "bruteforce-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c2300b7e33e2f3a593ab9effb57f56ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3140, "upload_time": "2018-05-23T23:28:33", "url": "https://files.pythonhosted.org/packages/b1/79/967bf500ff893c650f254974cc38ef80b1fa0a3fcf99d7944cee1eecc208/bruteforce-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2eb722109e303898de7d7772f4a2c5bd", "sha256": "4919eef4698d0ee87fbaa6667d191fd69f1b6ffe6389b45a2cd05290ebe7618f" }, "downloads": -1, "filename": "bruteforce-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2eb722109e303898de7d7772f4a2c5bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2705, "upload_time": "2018-05-23T23:28:34", "url": "https://files.pythonhosted.org/packages/82/c5/c3369ad9edc43176bd0635cc2a8ddb68aad02d0e978fa22566979abd81cc/bruteforce-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "4f6ae61c67cb47a257d0494f028c89e9", "sha256": "e371306ebb8ceb881c7522bc63fec6a3b853faf61b599cf2cb65bfc3e24ab39f" }, "downloads": -1, "filename": "bruteforce-0.0.3-py2-none-any.whl", "has_sig": false, "md5_digest": "4f6ae61c67cb47a257d0494f028c89e9", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 3323, "upload_time": "2018-05-24T10:03:15", "url": "https://files.pythonhosted.org/packages/69/37/0c2ef22c386e79bf32cd92bc360957eae0ef2ae484d1f4b769fb9cb4dd92/bruteforce-0.0.3-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d0a3028f6bca36f798d1ea23bb08b6ef", "sha256": "0578897388e2dfef37793bb396bd4b31009d0c714030df1c16308428ff39b8a3" }, "downloads": -1, "filename": "bruteforce-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d0a3028f6bca36f798d1ea23bb08b6ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3323, "upload_time": "2018-05-24T10:00:14", "url": "https://files.pythonhosted.org/packages/28/c5/61454ee253e6346398f4f83c15d7b7f57a39ef58be3c918da868b95a740d/bruteforce-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f7700a07fb5bd25819a7829da7335be", "sha256": "d73fa3f34689f66061fece2373b572cfc6f3be04e13463a8fbdd67fbd1925c05" }, "downloads": -1, "filename": "bruteforce-0.0.3.tar.gz", "has_sig": false, "md5_digest": "3f7700a07fb5bd25819a7829da7335be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2943, "upload_time": "2018-05-24T10:00:15", "url": "https://files.pythonhosted.org/packages/61/9a/387b19cbe44505638b8ac6f131b2ea7d4b37ad3f2bc15985e3499125b60e/bruteforce-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "abb633ad6e623c6269eb07e616ef67ab", "sha256": "773caabf9b63fd109595361a0acf455c1e3cb54004d49456a7ebbdb1c48aedc0" }, "downloads": -1, "filename": "bruteforce-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "abb633ad6e623c6269eb07e616ef67ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3323, "upload_time": "2018-05-24T10:06:01", "url": "https://files.pythonhosted.org/packages/f6/d5/4b8270dc56197012bbcc4a9475b71d4da78e9aefbca5e27497878a10ad82/bruteforce-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b4b60bf2285502f5068a8254bd6b6270", "sha256": "1b0c66d695f341e7c0ab83be5662f258cb69540a2b2daf7ac07e3c4bf1f7473d" }, "downloads": -1, "filename": "bruteforce-0.0.4.tar.gz", "has_sig": false, "md5_digest": "b4b60bf2285502f5068a8254bd6b6270", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2948, "upload_time": "2018-05-24T10:06:03", "url": "https://files.pythonhosted.org/packages/c9/a6/2f63fffd2cd2cffdd0342ab7ff4f6d32b02bf09b5130df67b5dc8c8d828d/bruteforce-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "5162a839cd2184873ea8237ea0fe98f2", "sha256": "5e5afd777b6ef2d5278f7f20612f1d4530faed3fc0a8f628663d6dac95fad8f5" }, "downloads": -1, "filename": "bruteforce-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "5162a839cd2184873ea8237ea0fe98f2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 3323, "upload_time": "2018-05-24T10:12:34", "url": "https://files.pythonhosted.org/packages/16/45/0d5750fb0a51e1476fed4c43ea2b23dcd66c0f7a99c50dbd2f18a55f47b6/bruteforce-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "50c3cddadeee6517078edac260a74160", "sha256": "2d27fa483e789e090102e03f67e9d49ad18575c72e6790c289ffee3286f06684" }, "downloads": -1, "filename": "bruteforce-0.0.5.tar.gz", "has_sig": false, "md5_digest": "50c3cddadeee6517078edac260a74160", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2946, "upload_time": "2018-05-24T10:12:35", "url": "https://files.pythonhosted.org/packages/f8/d2/21f67281dec78c916a9e7f1baee0aaf30fd185187e53a8f20c3f28b5d63e/bruteforce-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "030d1680bb3ebbc9d8e05024b52742f9", "sha256": "6c734f0f4305132ad8b658bb6d62935995d0aa09989df08ffd8446dbc17e9a13" }, "downloads": -1, "filename": "bruteforce-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "030d1680bb3ebbc9d8e05024b52742f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4613, "upload_time": "2018-06-07T13:02:19", "url": "https://files.pythonhosted.org/packages/ba/ba/32a5b80a2be253d684b67c509f325c50837e7b502506e48c875d7426088b/bruteforce-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2989a4f15c483dd0a218362df9feeb18", "sha256": "f80838907ad5a1512470a9c37abf41cfeb4267845cd33a3cb8167504ccdde954" }, "downloads": -1, "filename": "bruteforce-0.0.6.tar.gz", "has_sig": false, "md5_digest": "2989a4f15c483dd0a218362df9feeb18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3449, "upload_time": "2018-06-07T13:02:20", "url": "https://files.pythonhosted.org/packages/ac/03/650f87981682bd6f4a5d9fcca0106da827804f8cc866cffd0b8cc7264ff8/bruteforce-0.0.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "030d1680bb3ebbc9d8e05024b52742f9", "sha256": "6c734f0f4305132ad8b658bb6d62935995d0aa09989df08ffd8446dbc17e9a13" }, "downloads": -1, "filename": "bruteforce-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "030d1680bb3ebbc9d8e05024b52742f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4613, "upload_time": "2018-06-07T13:02:19", "url": "https://files.pythonhosted.org/packages/ba/ba/32a5b80a2be253d684b67c509f325c50837e7b502506e48c875d7426088b/bruteforce-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2989a4f15c483dd0a218362df9feeb18", "sha256": "f80838907ad5a1512470a9c37abf41cfeb4267845cd33a3cb8167504ccdde954" }, "downloads": -1, "filename": "bruteforce-0.0.6.tar.gz", "has_sig": false, "md5_digest": "2989a4f15c483dd0a218362df9feeb18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3449, "upload_time": "2018-06-07T13:02:20", "url": "https://files.pythonhosted.org/packages/ac/03/650f87981682bd6f4a5d9fcca0106da827804f8cc866cffd0b8cc7264ff8/bruteforce-0.0.6.tar.gz" } ] }