{
"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"
}
]
}