同步操作将从 staugur/Python-SecureHTTP 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
# -*- coding: utf-8 -*-"""Python-SecureHTTP=================让HTTP传输更加安全,C/S架构的加密通信!(Make HTTP transmissions more secure, encrypted communication for C/S architecture.)使用概述(Overview)~~~~~~~~~~~~~~~~~~**安装(Installation)**.. code:: bash$ pip install -U SecureHTTP**示例代码(Examples)**1. RSA加密、解密.. code:: pythonfrom SecureHTTP import AESEncrypt, AESDecrypt# 加密后的密文ciphertext = AESEncrypt('ThisIsASecretKey', 'Hello World!')# 解密后的明文plaintext = AESDecrypt("ThisIsASecretKey", ciphertext)2. AES加密、解密.. code:: pythonfrom SecureHTTP import RSAEncrypt, RSADecrypt, generate_rsa_keys# 生成密钥对(pubkey, privkey) = generate_rsa_keys(incall=True)# 加密后的密文ciphertext = RSAEncrypt(pubkey, 'Hello World!')# 解密后的明文plaintext = RSADecrypt(privkey, ciphertext)3. C/S加解密示例: `点此查看以下模拟代码的真实WEB环境示例 <https://github.com/staugur/Python-SecureHTTP/blob/master/examples/Demo/>`__.. code:: python# 模拟C/S请求from SecureHTTP import EncryptedCommunicationClient, EncryptedCommunicationServer, generate_rsa_keyspost = {u'a': 1, u'c': 3, u'b': 2, u'data': ["a", 1, None]}resp = {u'msg': None, u'code': 0}# 生成密钥对(pubkey, privkey) = generate_rsa_keys(incall=True)# 初始化客户端类client = EncryptedCommunicationClient(pubkey)# 初始化服务端类server = EncryptedCommunicationServer(privkey)# NO.1 客户端加密数据c1 = client.clientEncrypt(post)# NO.2 服务端解密数据s1 = server.serverDecrypt(c1)# NO.3 服务端返回加密数据s2 = server.serverEncrypt(resp)# NO.4 客户端获取返回数据并解密c2 = client.clientDecrypt(s2)# 以上四个步骤即完成一次请求/响应4. B/S加解密示例: `登录时,password使用RSA加密,后端解密 <https://github.com/staugur/Python-SecureHTTP/tree/master/examples/BS-RSA>`__文档(Documentation)~~~~~~~~~~~~~~~~~~~`中文(Chinese) <https://python-securehttp.readthedocs.io/zh_CN/latest/>`__"""import osimport reimport astimport unittestfrom setuptools import setup, Commanddef test_suite():test_loader = unittest.TestLoader()test_suite = test_loader.discover('tests', pattern='test_*.py')return test_suitedef _get_version():version_re = re.compile(r'__version__\s+=\s+(.*)')with open('SecureHTTP.py', 'rb') as fh:version = ast.literal_eval(version_re.search(fh.read().decode('utf-8')).group(1))return str(version)def _get_author():author_re = re.compile(r'__author__\s+=\s+(.*)')mail_re = re.compile(r'(.*)\s<(.*)>')with open('SecureHTTP.py', 'rb') as fh:author = ast.literal_eval(author_re.search(fh.read().decode('utf-8')).group(1))return (mail_re.search(author).group(1), mail_re.search(author).group(2))class PublishCommand(Command):description = "Publish a new version to pypi"user_options = [# The format is (long option, short option, description).("test", None, "Publish to test.pypi.org"),("release", None, "Publish to pypi.org"),]def initialize_options(self):"""Set default values for options."""self.test = Falseself.release = Falsedef finalize_options(self):"""Post-process options."""if self.test:print("V%s will publish to the test.pypi.org" % version)elif self.release:print("V%s will publish to the pypi.org" % version)def run(self):"""Run command."""os.system("pip install -U setuptools twine wheel")os.system("rm -rf build/ dist/ Python_SecureHTTP.egg-info/")os.system("python setup.py sdist bdist_wheel")if self.test:os.system("twine upload --repository-url https://test.pypi.org/legacy/ dist/*")elif self.release:os.system("twine upload dist/*")os.system("rm -rf build/ dist/ Python_SecureHTTP.egg-info/")if self.test:print("V%s publish to the test.pypi.org successfully" % version)elif self.release:print("V%s publish to the pypi.org successfully" % version)exit()version = _get_version()(author, email) = _get_author()setup(name='SecureHTTP',version=version,url='https://github.com/staugur/Python-SecureHTTP',download_url="https://github.com/staugur/Python-SecureHTTP/releases/tag/v%s" % version,license='MIT',author=author,author_email=email,keywords=["RSA", "AES", "MD5", "HTTP"],description='Make HTTP transmissions more secure, encrypted communication for C/S architecture.',long_description=__doc__,test_suite='setup.test_suite',py_modules=['SecureHTTP', ],scripts=["generate_rsa_keys.sh"],entry_points={'console_scripts': ['generate_rsa_keys.py = SecureHTTP:generate_rsa_keys']},platforms='any',install_requires=['rsa>=4.0','pycryptodomex>=3.7.2'],tests_require=["flask>0.9"],cmdclass={'publish': PublishCommand,},classifiers=['Development Status :: 4 - Beta','Environment :: Web Environment','Intended Audience :: Developers','License :: OSI Approved :: MIT 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'])
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。