{ "info": { "author": "Chuck Bassett", "author_email": "iamchuckb@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 2.7" ], "description": "# (correcthorse)batterystaple\n\nSmall library for generating XKCD style passphrases. (http://xkcd.com/936/)\nWord list sourced from: https://github.com/atebits/Words\n\nIn addition to generating a passphrase, by default the `generate` function logs some\nbasic analysis of the difficulty of cracking the password based on the number of candidate\nwords used in generating the passphrase.\n\n## Usage Examples\n\nCalling `generate` with no arguments:\n\n```python\nIn [0]: from batterystaple import generate\n\nIn [1]: generate()\nGenerating passphrase of length 4 from 274907 candidate words...\nPassphrase generated.\nNumber of possible passphrases with given length and constraints: 5,711,408,111,099,032,105,201\nTime required to try all combinations at speed of 1 billion attempts/second: 5,711,408,111,099s\nFor the sake of comparison, here are several other lengths of time:\nSeconds in one year: 31,557,600s\nSeconds since UNIX epoch (Jan 1, 1970 12:00:00am): 1,416,230,980s\nSeconds since humans emerged as a distinct species: 6,311,520,000,000s\nSeconds since the universe formed: 435,494,880,000,000,000s\nOut[1]: 'nonviable_gratification_workbench_subdwarfs'\n```\n\nLimiting candidate words to between 4 and 8 characters each:\n\n```python\nIn [0]: from batterystaple import generate\nIn [1]: generate(min_length=4,max_length=8)\nEliminating all words less than 4 characters in length...\n1435 words removed from list of candidates.\nEliminating all words greater than 8 characters in length...\n158943 words removed from list of candidates.\nGenerating passphrase of length 4 from 114529 candidate words...\nPassphrase generated.\nNumber of possible passphrases with given length and constraints: 172,052,851,568,492,369,281\nTime required to try all combinations at speed of 1 billion attempts/second: 172,052,851,568s\nFor the sake of comparison, here are several other lengths of time:\nSeconds in one year: 31,557,600s\nSeconds since UNIX epoch (Jan 1, 1970 12:00:00am): 1,416,230,980s\nSeconds since humans emerged as a distinct species: 6,311,520,000,000s\nSeconds since the universe formed: 435,494,880,000,000,000s\nOut[1]: 'visards_gentlest_inmost_imbued'\n```\n\nGenerating a passphrase consisting of 5 words with no underscores\nin the returned string:\n\n```python\nIn [0]: from batterystaple import generate\n\nIn [1]: generate(num_words=5,with_underscores=False)\nGenerating passphrase of length 5 from 274907 candidate words...\nPassphrase generated.\nNumber of possible passphrases with given length and constraints: 1,570,106,069,597,901,618,944,491,307\nTime required to try all combinations at speed of 1 billion attempts/second: 1,570,106,069,597,901,568s\nFor the sake of comparison, here are several other lengths of time:\nSeconds in one year: 31,557,600s\nSeconds since UNIX epoch (Jan 1, 1970 12:00:00am): 1,416,230,980s\nSeconds since humans emerged as a distinct species: 6,311,520,000,000s\nSeconds since the universe formed: 435,494,880,000,000,000s\nOut[1]: 'headwaysmaterialisehandstandssjambokingalpinists'\n```\n\nAnd finally, limiting log output:\n\n```python\nIn [0]: import logging\n\nIn [1]: from batterystaple import generate\n\nIn [2]: generate(log_level=logging.WARN)\nOut[2]: 'cherisher_knobbiness_yardages_teinded'\n\nIn [3]: generate(log_level=logging.ERROR)\nOut[3]: 'eider_scarabaeoid_heartsome_unsleeping'\n\n```", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chucksmash/batterystaple", "keywords": "passwords passphrases", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "batterystaple", "package_url": "https://pypi.org/project/batterystaple/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/batterystaple/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/chucksmash/batterystaple" }, "release_url": "https://pypi.org/project/batterystaple/0.1.0dev1/", "requires_dist": null, "requires_python": null, "summary": "Small library for generating XKCD style passphrases", "version": "0.1.0dev1" }, "last_serial": 1310088, "releases": { "0.1.0dev1": [ { "comment_text": "", "digests": { "md5": "f671d21ea273f1caf504f8fe92f66c95", "sha256": "cbebd46c90e11258900d29cc3535a353e832021317ed732806ca903b3763e0fe" }, "downloads": -1, "filename": "batterystaple-0.1.0dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f671d21ea273f1caf504f8fe92f66c95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 721227, "upload_time": "2014-11-17T14:17:52", "url": "https://files.pythonhosted.org/packages/27/ce/04781ca6fde3f464998c44daf2cf39f8b028968564e2ee3d89789f118503/batterystaple-0.1.0dev1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4958c40c4dc5c37335f88b0940cf69c4", "sha256": "b4a6bcf60827f6811e35f6d59036eda0829338cf1a9e77f84d3d9ee264105348" }, "downloads": -1, "filename": "batterystaple-0.1.0dev1.tar.gz", "has_sig": false, "md5_digest": "4958c40c4dc5c37335f88b0940cf69c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 720114, "upload_time": "2014-11-17T14:17:56", "url": "https://files.pythonhosted.org/packages/e5/0b/f578151c0d6d9e07d3aef8a01976fe15c86c3f6a5776f4c57b72c2721d73/batterystaple-0.1.0dev1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f671d21ea273f1caf504f8fe92f66c95", "sha256": "cbebd46c90e11258900d29cc3535a353e832021317ed732806ca903b3763e0fe" }, "downloads": -1, "filename": "batterystaple-0.1.0dev1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f671d21ea273f1caf504f8fe92f66c95", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 721227, "upload_time": "2014-11-17T14:17:52", "url": "https://files.pythonhosted.org/packages/27/ce/04781ca6fde3f464998c44daf2cf39f8b028968564e2ee3d89789f118503/batterystaple-0.1.0dev1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4958c40c4dc5c37335f88b0940cf69c4", "sha256": "b4a6bcf60827f6811e35f6d59036eda0829338cf1a9e77f84d3d9ee264105348" }, "downloads": -1, "filename": "batterystaple-0.1.0dev1.tar.gz", "has_sig": false, "md5_digest": "4958c40c4dc5c37335f88b0940cf69c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 720114, "upload_time": "2014-11-17T14:17:56", "url": "https://files.pythonhosted.org/packages/e5/0b/f578151c0d6d9e07d3aef8a01976fe15c86c3f6a5776f4c57b72c2721d73/batterystaple-0.1.0dev1.tar.gz" } ] }