使http传输更加安全,c/s架构的加密通信。

SecureHTT的Python项目详细描述


通过使用RSA+AES让HTTP传输更加安全,即C/S架构的加密通信!(Make HTTP transmissions more secure via RSA+AES, encrypted communication for C/S architecture.)

Build StatusDocumentation StatuscodecovPyPIPyversionsImplementation996.ICU

使用概述(Overview)

安装(Installation):

# 正式版(Release)
$ pip install -U SecureHTTP
# 开发版(Dev)
$ pip install -U git+https://github.com/staugur/Python-SecureHTTP.git@master

测试用例(TestCase):

温馨提示:运行完整测试需要php和go命令!

$ git clone https://github.com/staugur/Python-SecureHTTP &&cd Python-SecureHTTP
$ make dev && make test

示例代码(Examples):

  1. AES加密、解密

    fromSecureHTTPimportAESEncrypt,AESDecrypt# 加密后的密文ciphertext=AESEncrypt('ThisIsASecretKey','Hello World!')# 解密后的明文plaintext=AESDecrypt("ThisIsASecretKey",ciphertext)
  2. RSA加密、解密

    fromSecureHTTPimportRSAEncrypt,RSADecrypt,generate_rsa_keys# 生成密钥对(pubkey,privkey)=generate_rsa_keys(incall=True)# 加密后的密文ciphertext=RSAEncrypt(pubkey,'Hello World!')# 解密后的明文plaintext=RSADecrypt(privkey,ciphertext)
  3. C/S加解密示例:点此查看以下模拟代码的真实WEB环境示例

    # 模拟C/S请求fromSecureHTTPimportEncryptedCommunicationClient,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加解密示例:前端使用AES+RSA加密,后端解密

文档(Documentation)

说在后面(END)

欢迎提交PR、共同开发!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java自定义EditTextPreference   JavaEJB3.0和未来的方法   sqlite如何在Java中向ComboBox添加多个元素   在java中解析csv文件时出现在各行中的单词   为什么Java禁止内部类中的静态字段?   字符串在java中对数组中的字进行计数   java Android对库项目有依赖关系   文件名的java Base64编码安全吗?   FileReaderJava。木卫一。指定目录时FileNotFoundException   java在Swing中自动增加字体大小   java为iOS应用程序测试自动化设置appium   java通过PhantomJS 1.9.8将外部css文件注入加载的页面   Java数组。sort(test)对两个数组进行排序   java正则表达式,用于匹配句子中的最后一个字母和单词   如何将变量从Java程序传递到通过启动的浏览器访问的JSP页面?   尝试在jave中上载图像时出现java NoSuchFileException   带有可选查询字符串的java Spring RESTful uri   java Android在保持纵横比的同时显示图像   找不到Java小程序错误主方法