{ "info": { "author": "staugur", "author_email": "staugur@saintic.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Python-SecureHTTP\n=================\n\n\u901a\u8fc7\u4f7f\u7528RSA+AES\u8ba9HTTP\u4f20\u8f93\u66f4\u52a0\u5b89\u5168\uff0c\u5373C/S\u67b6\u6784\u7684\u52a0\u5bc6\u901a\u4fe1!(Make HTTP transmissions more secure via RSA+AES, encrypted communication for C/S architecture.)\n\n|Build Status| |Documentation Status| |codecov| |PyPI| |Pyversions| |Implementation| |link996|\n\n\u4f7f\u7528\u6982\u8ff0(Overview)\n~~~~~~~~~~~~~~~~~~\n\n**\u5b89\u88c5(Installation)\uff1a**\n\n.. code:: bash\n\n # \u6b63\u5f0f\u7248(Release)\n $ pip install -U SecureHTTP\n # \u5f00\u53d1\u7248(Dev)\n $ pip install -U git+https://github.com/staugur/Python-SecureHTTP.git@master\n\n**\u6d4b\u8bd5\u7528\u4f8b(TestCase)\uff1a**\n\n*\u6e29\u99a8\u63d0\u793a\uff1a\u8fd0\u884c\u5b8c\u6574\u6d4b\u8bd5\u9700\u8981php\u548cgo\u547d\u4ee4\uff01*\n\n.. code:: bash\n\n $ git clone https://github.com/staugur/Python-SecureHTTP && cd Python-SecureHTTP\n $ make dev && make test\n\n**\u793a\u4f8b\u4ee3\u7801(Examples)\uff1a**\n\n1. AES\u52a0\u5bc6\u3001\u89e3\u5bc6\n\n .. code:: python\n\n from SecureHTTP import AESEncrypt, AESDecrypt\n # \u52a0\u5bc6\u540e\u7684\u5bc6\u6587\n ciphertext = AESEncrypt('ThisIsASecretKey', 'Hello World!')\n # \u89e3\u5bc6\u540e\u7684\u660e\u6587\n plaintext = AESDecrypt(\"ThisIsASecretKey\", ciphertext)\n\n2. RSA\u52a0\u5bc6\u3001\u89e3\u5bc6\n\n .. code:: python\n\n from SecureHTTP import RSAEncrypt, RSADecrypt, generate_rsa_keys\n # \u751f\u6210\u5bc6\u94a5\u5bf9\n (pubkey, privkey) = generate_rsa_keys(incall=True)\n # \u52a0\u5bc6\u540e\u7684\u5bc6\u6587\n ciphertext = RSAEncrypt(pubkey, 'Hello World!')\n # \u89e3\u5bc6\u540e\u7684\u660e\u6587\n plaintext = RSADecrypt(privkey, ciphertext)\n\n3. C/S\u52a0\u89e3\u5bc6\u793a\u4f8b\uff1a\\ `\u70b9\u6b64\u67e5\u770b\u4ee5\u4e0b\u6a21\u62df\u4ee3\u7801\u7684\u771f\u5b9eWEB\u73af\u5883\u793a\u4f8b `__\n\n .. code:: python\n\n # \u6a21\u62dfC/S\u8bf7\u6c42\n from SecureHTTP import EncryptedCommunicationClient, EncryptedCommunicationServer, generate_rsa_keys\n post = {u'a': 1, u'c': 3, u'b': 2, u'data': [\"a\", 1, None]}\n resp = {u'msg': None, u'code': 0}\n # \u751f\u6210\u5bc6\u94a5\u5bf9\n (pubkey, privkey) = generate_rsa_keys(incall=True)\n # \u521d\u59cb\u5316\u5ba2\u6237\u7aef\u7c7b\n client = EncryptedCommunicationClient(pubkey)\n # \u521d\u59cb\u5316\u670d\u52a1\u7aef\u7c7b\n server = EncryptedCommunicationServer(privkey)\n # NO.1 \u5ba2\u6237\u7aef\u52a0\u5bc6\u6570\u636e\n c1 = client.clientEncrypt(post)\n # NO.2 \u670d\u52a1\u7aef\u89e3\u5bc6\u6570\u636e\n s1 = server.serverDecrypt(c1)\n # NO.3 \u670d\u52a1\u7aef\u8fd4\u56de\u52a0\u5bc6\u6570\u636e\n s2 = server.serverEncrypt(resp)\n # NO.4 \u5ba2\u6237\u7aef\u83b7\u53d6\u8fd4\u56de\u6570\u636e\u5e76\u89e3\u5bc6\n c2 = client.clientDecrypt(s2)\n # \u4ee5\u4e0a\u56db\u4e2a\u6b65\u9aa4\u5373\u5b8c\u6210\u4e00\u6b21\u8bf7\u6c42/\u54cd\u5e94\n\n4. B/S\u52a0\u89e3\u5bc6\u793a\u4f8b\uff1a\\ `\u524d\u7aef\u4f7f\u7528AES+RSA\u52a0\u5bc6\uff0c\u540e\u7aef\u89e3\u5bc6 `__\n\n\u6587\u6863(Documentation)\n~~~~~~~~~~~~~~~~~~~\n\n- `\u4e2d\u6587 `__\n\n\u8d44\u6e90(Resources)\n~~~~~~~~~~~~~~~\n\n- GitHub https://github.com/staugur/Python-SecureHTTP\n- Author https://www.saintic.com\n- Issues https://github.com/staugur/Python-SecureHTTP/issues\n\n\u8bf4\u5728\u540e\u9762(END)\n~~~~~~~~~~~~~\n\n\u6b22\u8fce\u63d0\u4ea4PR\u3001\u5171\u540c\u5f00\u53d1\uff01\n\n.. |Build Status| image:: https://travis-ci.com/staugur/Python-SecureHTTP.svg?branch=master\n :target: https://travis-ci.com/staugur/Python-SecureHTTP\n.. |Documentation Status| image:: https://readthedocs.org/projects/python-securehttp/badge/?version=latest\n :target: https://python-securehttp.readthedocs.io/zh_CN/latest/?badge=latest\n.. |codecov| image:: https://codecov.io/gh/staugur/Python-SecureHTTP/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/staugur/Python-SecureHTTP\n.. |PyPI| image:: https://img.shields.io/pypi/v/SecureHTTP.svg?style=popout\n :target: https://pypi.org/project/SecureHTTP\n.. |Pyversions| image:: https://img.shields.io/pypi/pyversions/SecureHTTP.svg\n :target: https://pypi.org/project/SecureHTTP\n.. |Implementation| image:: https://img.shields.io/pypi/implementation/SecureHTTP.svg\n :target: https://pypi.org/project/SecureHTTP\n.. |link996| image:: https://img.shields.io/badge/link-996.icu-red.svg\n :target: https://996.icu\n :alt: 996.ICU\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/staugur/Python-SecureHTTP/releases/tag/v0.5.0", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/staugur/Python-SecureHTTP", "keywords": "RSA,AES,MD5,HTTP", "license": "BSD 3-Clause", "maintainer": "", "maintainer_email": "", "name": "SecureHTTP", "package_url": "https://pypi.org/project/SecureHTTP/", "platform": "any", "project_url": "https://pypi.org/project/SecureHTTP/", "project_urls": { "Download": "https://github.com/staugur/Python-SecureHTTP/releases/tag/v0.5.0", "Homepage": "https://github.com/staugur/Python-SecureHTTP" }, "release_url": "https://pypi.org/project/SecureHTTP/0.5.0/", "requires_dist": [ "pycryptodomex (>=3.7.2)" ], "requires_python": "", "summary": "Make HTTP transmissions more secure, encrypted communication for C/S architecture.", "version": "0.5.0" }, "last_serial": 5186690, "releases": { "0.2.3": [ { "comment_text": "", "digests": { "md5": "33ca32d856e9b251dd0947131ce353fb", "sha256": "69f02c9e8ccee716a50257014e0e7f4887c6c1e4f480fdac59399acd26a7a44b" }, "downloads": -1, "filename": "SecureHTTP-0.2.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "33ca32d856e9b251dd0947131ce353fb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9428, "upload_time": "2019-01-16T09:54:25", "url": "https://files.pythonhosted.org/packages/ff/e4/3868b31098fdddbe826acf903a7dff5a87e6986138328210b3f2c5a1b8e8/SecureHTTP-0.2.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4acc26b2db17ba5c43d9247a14a98bc8", "sha256": "eae6d3fa22e1c3dd64376e06ed14a000cd71ea72c5690cf86c7a784b96fdc297" }, "downloads": -1, "filename": "SecureHTTP-0.2.3.tar.gz", "has_sig": false, "md5_digest": "4acc26b2db17ba5c43d9247a14a98bc8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9228, "upload_time": "2019-01-16T09:54:28", "url": "https://files.pythonhosted.org/packages/07/3d/e1120d699f1ce3842ec9c8fdc272c1e472dd8bf1673aab9f68bf1068e742/SecureHTTP-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "612a8dbb314a623ef608499370a4455c", "sha256": "ec3cbf1180c18ea44e0ca26b2d013d90d59cda47c70c49b2cfb80f91af64c997" }, "downloads": -1, "filename": "SecureHTTP-0.2.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "612a8dbb314a623ef608499370a4455c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9505, "upload_time": "2019-01-18T03:16:32", "url": "https://files.pythonhosted.org/packages/7e/36/e1bf39562e694c45422c37f3944bedc9bdfe5c9d5a81bf299a31381fcfc6/SecureHTTP-0.2.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3682b6e19fb28d514944f867909c65e0", "sha256": "87d1d90798114123ac690fdbf7c7eedac6ca5b1d11273e21415b433f633b13a3" }, "downloads": -1, "filename": "SecureHTTP-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3682b6e19fb28d514944f867909c65e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9322, "upload_time": "2019-01-18T03:16:34", "url": "https://files.pythonhosted.org/packages/76/1d/1de58f335430ff5963c4cb4d70f44baf3b26069d552c69e9c488e6877fad/SecureHTTP-0.2.4.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "7f30ff8a31d84eadffc9822b93dbdb93", "sha256": "3d30a50e53c34716866f13f77b623e0f7ad9e4381ba0ba0f63f7529afb2a9c46" }, "downloads": -1, "filename": "SecureHTTP-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7f30ff8a31d84eadffc9822b93dbdb93", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10088, "upload_time": "2019-01-22T13:04:34", "url": "https://files.pythonhosted.org/packages/1e/ef/639212d936994c838254243483fa86004ce86eb70cf59e175edb03c27168/SecureHTTP-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d774d403bd20188b45e8f0d764bc18e", "sha256": "ea26798439f5bf8112dc29b047dc392654e45ce386978cd3466f54e8c5f658ef" }, "downloads": -1, "filename": "SecureHTTP-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7d774d403bd20188b45e8f0d764bc18e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9898, "upload_time": "2019-01-22T13:04:35", "url": "https://files.pythonhosted.org/packages/d5/8c/13fa95b6df384b703623216216314f5a6723e1637956fdf9c4d7b325117f/SecureHTTP-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "f0689c92b72d4a74765ac8720adf684e", "sha256": "ebce5ecbff2292416a1ca3d3c327f650b245fd4cbb4091fd5642799d90707a8b" }, "downloads": -1, "filename": "SecureHTTP-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f0689c92b72d4a74765ac8720adf684e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10379, "upload_time": "2019-04-05T05:57:24", "url": "https://files.pythonhosted.org/packages/5c/10/829172c5f90466fd386830c541cfdccd420b471fecd0edf88cee581abf0c/SecureHTTP-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fd21fc5ad9bec97c92f9275739e1b619", "sha256": "f1916e5d4ab5e20bfc946eea5addd92db1860ccfbb0b543122c7c683a07765ab" }, "downloads": -1, "filename": "SecureHTTP-0.4.0.tar.gz", "has_sig": false, "md5_digest": "fd21fc5ad9bec97c92f9275739e1b619", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10031, "upload_time": "2019-04-05T05:57:30", "url": "https://files.pythonhosted.org/packages/ad/7b/533216beecb3fa158ecaa12d4720416ab14abdf06d78aea170a22dc4acda/SecureHTTP-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "3d7b5250e91bede9bea757679aa93d23", "sha256": "ecaff7d7e28f05bb72955c8fda845d77d17d2d9740c9fb300b14fec486624f18" }, "downloads": -1, "filename": "SecureHTTP-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3d7b5250e91bede9bea757679aa93d23", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10529, "upload_time": "2019-04-21T04:16:00", "url": "https://files.pythonhosted.org/packages/f6/b4/038e6712f7f47f31c948b75584875b9bdc33386889c7f1f386c7429c77b1/SecureHTTP-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dc580dd286c595f5948fff811a0ccc82", "sha256": "84e32c74ccdade60d1ec8832a8ba5718c80aa69d9b6f014897065d27a2d741fb" }, "downloads": -1, "filename": "SecureHTTP-0.4.1.tar.gz", "has_sig": false, "md5_digest": "dc580dd286c595f5948fff811a0ccc82", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10300, "upload_time": "2019-04-21T04:16:02", "url": "https://files.pythonhosted.org/packages/c6/7f/f28aecc32b5f3c69913899a9944871fea296b0e80356555ebcea81062b40/SecureHTTP-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "732e30e786db80f29dfc632a26c09c0a", "sha256": "7d2c67516d46810fe7ae01782ac094e71f63fac93940add7b9bf6f9dda877d85" }, "downloads": -1, "filename": "SecureHTTP-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "732e30e786db80f29dfc632a26c09c0a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11517, "upload_time": "2019-04-25T08:25:39", "url": "https://files.pythonhosted.org/packages/c4/37/c9ac6b1dc12ad47c25ed2aae643dbb07f5d6b6686bfb3c6c71541cbfb18c/SecureHTTP-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1c763db19db1d29ed1fbef5ce350edc", "sha256": "5b1a51cb3a6314862d5042013f1df9575ab2f51dccb4f01deaa688f07ef3825f" }, "downloads": -1, "filename": "SecureHTTP-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a1c763db19db1d29ed1fbef5ce350edc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10751, "upload_time": "2019-04-25T08:25:41", "url": "https://files.pythonhosted.org/packages/8c/dc/75de31c919fceeff89afe286febc2e7b04a3557c4c8617b86500863b8b2d/SecureHTTP-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "732e30e786db80f29dfc632a26c09c0a", "sha256": "7d2c67516d46810fe7ae01782ac094e71f63fac93940add7b9bf6f9dda877d85" }, "downloads": -1, "filename": "SecureHTTP-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "732e30e786db80f29dfc632a26c09c0a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11517, "upload_time": "2019-04-25T08:25:39", "url": "https://files.pythonhosted.org/packages/c4/37/c9ac6b1dc12ad47c25ed2aae643dbb07f5d6b6686bfb3c6c71541cbfb18c/SecureHTTP-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1c763db19db1d29ed1fbef5ce350edc", "sha256": "5b1a51cb3a6314862d5042013f1df9575ab2f51dccb4f01deaa688f07ef3825f" }, "downloads": -1, "filename": "SecureHTTP-0.5.0.tar.gz", "has_sig": false, "md5_digest": "a1c763db19db1d29ed1fbef5ce350edc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10751, "upload_time": "2019-04-25T08:25:41", "url": "https://files.pythonhosted.org/packages/8c/dc/75de31c919fceeff89afe286febc2e7b04a3557c4c8617b86500863b8b2d/SecureHTTP-0.5.0.tar.gz" } ] }