{ "info": { "author": "AbleInc - Jaylen Douglas", "author_email": "douglas.jaylen@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3 :: Only" ], "description": "# Polysecrets\n\nA completely randomized order of secrets; built with security in mind. Secrets can be automatically generated\non a time interval or manually generated. Polysecrets keeps the guessing away from the human in exchange for\na truly secret, randomized signing order. Instead of a hardcoded secret that can be stolen during a security\nbreach, Polysecrets, randomizes the provided string in a way that a secret produced at 8:00pm can be completely\ndifferent from a secret produced at 8:01pm, on the same server.\n\n# Requirements\n* Python 3.5+\n* Windows, OSX or Linux\n\n# Install\nLocally\n```bash\ngit clone https://github.com/ableinc/polysecrets.git\ncd polysecrets\n\npython3.6 -m pip install --upgrade .\n or \npip3.6 install --upgrade .\n```\nPyPi (Pip)\n```bash\npython3.6 -m pip install --upgrade polysecrets\n or\npip3.6 install --upgrade polysecrets\n```\n# How To Use\nPolysecrets can be used manually or automated. Automated use can be provided a time (in seconds) for\nhow often a new secret should be generated, the default time is set to 30 seconds.
\n\n** Run test.py to see a working example **
\n\nAutomated (this will add the secret to your environment)\n```python\nfrom os import environ\nfrom polysecrets import PolySecrets\n\nPolySecrets('rAnd0m_s3cr3t', 15).automated() # default time is set to 30 seconds\nprint(environ['secret']) # confirm secret is available\n```\n\nManual: \n```python\nfrom polysecrets import PolySecrets\n\nsecret = PolySecrets('rAnd0m_s3cr3t').manual()\nprint(secret) # confirm secret is available\n```\n\nRefer to examples folder for all use cases.\n\n# Options\nYou can do the following with Polysecrets:\n* Manually or Automatically generate new secrets\n* Change time interval for new secret generation (for Automated feature)\n* Change the length of the final Polysecrets secret (refer to Notes at end of README)\n* Choose whether to generate secrets with just UUIDs, Alphanumeric characters or both\n* Choose whether to change the case of various characters in Polysecrets secret\n\nThe CLI (below) has full details of each option (except automated option)\n\n# CLI\nYou can use Polysecrets as a command line tool. CLI does not provided automated feature.
\n```bash\npolysecrets -s rAnd0m_s3cr3t\n```\n\n```bash \nUsage: polysecrets [OPTIONS]\n\nOptions:\n -s, --secret TEXT The secret string [required]\n -l, --length INTEGER Length of the secret. Secret has a minimum length of\n 10\n -u, --uuid INTEGER Whether to use UUIDs or Alphanumeric characters for\n secret generation\n -m, --mixcase BOOLEAN Decide whether or not to mix the case of\n alphacharacters in secret string\n --version Show the version and exit.\n --help Show this message and exit.\n\n```\n\n# Benefits\n* JSON Web Tokens\n* Certificate Signing\n* Hashing\n* Various scenarios of Cryptography\n\n# What's Next
(refer to Changelog)
\n1. Add persistence. This will monitor the generated secrets and make sure the newly generated secret\nhas not be used previously. Possibly, only within a 24 hour period.\n2. NodeJS version of Polysecrets\n________\n -- Completed June 4th, 2019 --
\n1. Randomized upper and lower case alpha characters in secret string - Done.
\n2. Custom secret string length - Done.
\n3. Choice of just UUIDs, alphanumeric characters or both in secret generation - Done.
\n\n# Changelog\n**v0.1.1** - June 4th, 2019\n* Custom secret string length, with a minimum of 10 characters\n* You may mix the secret, in combination with the provided secret string, with UUIDs, alphanumeric characters or both.\n* You can now select between upper and lower case mixing during secret generation\n\n**v0.1.0** - June 3rd, 2019\n* Manually and autogenerated secrets, with fixed secret length\n* Polysecrets CLI added\n\n# Note\n\n- If you change the length of the secret via the 'length' parameter, you will notice that the \nsecret string you provided will not contain all the characters provided. If you want the final\nsecret to contain all the exact same characters, then provide the exact string length to \nPolysecrets 'length' field.\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/ableinc/polysecrets", "keywords": "security,polysecrets,secrets,randomized,ableinc,cryptography,jwt,signing,encryption,server security,application security", "license": "", "maintainer": "", "maintainer_email": "", "name": "polysecrets", "package_url": "https://pypi.org/project/polysecrets/", "platform": "", "project_url": "https://pypi.org/project/polysecrets/", "project_urls": { "Homepage": "https://github.com/ableinc/polysecrets" }, "release_url": "https://pypi.org/project/polysecrets/0.1.1/", "requires_dist": [ "Click (>=7.0)" ], "requires_python": "", "summary": "A completely randomized order of secrets, with security in mind.", "version": "0.1.1" }, "last_serial": 5359136, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "30d1bae8d41b7bf22c43f4248d583c62", "sha256": "3740db209d429bc9d04c4ff39e7198042739c7d102d15ba2d9d566b910cd7628" }, "downloads": -1, "filename": "polysecrets-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "30d1bae8d41b7bf22c43f4248d583c62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5983, "upload_time": "2019-06-04T18:51:56", "url": "https://files.pythonhosted.org/packages/6c/87/e645befb2f969fafed9d46ebd08867c32476bb69e761321a6230817534d7/polysecrets-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c522cb97f19d15c0c161487ead7d048", "sha256": "a28c56c8192ab27372bc78c56d98286cfe2ac92e3386c670c32047f8246402a6" }, "downloads": -1, "filename": "polysecrets-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0c522cb97f19d15c0c161487ead7d048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5124, "upload_time": "2019-06-04T18:51:57", "url": "https://files.pythonhosted.org/packages/da/44/643c8be53ddafae27988d08e0f9264a1039c2a3e880cdbe1599c567793c1/polysecrets-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "30d1bae8d41b7bf22c43f4248d583c62", "sha256": "3740db209d429bc9d04c4ff39e7198042739c7d102d15ba2d9d566b910cd7628" }, "downloads": -1, "filename": "polysecrets-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "30d1bae8d41b7bf22c43f4248d583c62", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5983, "upload_time": "2019-06-04T18:51:56", "url": "https://files.pythonhosted.org/packages/6c/87/e645befb2f969fafed9d46ebd08867c32476bb69e761321a6230817534d7/polysecrets-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c522cb97f19d15c0c161487ead7d048", "sha256": "a28c56c8192ab27372bc78c56d98286cfe2ac92e3386c670c32047f8246402a6" }, "downloads": -1, "filename": "polysecrets-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0c522cb97f19d15c0c161487ead7d048", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5124, "upload_time": "2019-06-04T18:51:57", "url": "https://files.pythonhosted.org/packages/da/44/643c8be53ddafae27988d08e0f9264a1039c2a3e880cdbe1599c567793c1/polysecrets-0.1.1.tar.gz" } ] }