.. _securehttp: SecureHTTP.js ============== 这是一个js库,封装了相关加密代码:包含AES加密解密、RSA加密解密、浏览器端加密通信封装(RSA+AES+MD5),专门用来与Python-SecureHTTP一起形成B/S的加密通信。 **代码仓库:** https://github.com/staugur/SecureHTTP.js **当前版本(version):** ``0.2.0`` **兼容Python-SecureHTTP的版本:** ``0.2.0+`` CDN --- 在浏览器中使用: 已经把打包好的版本放到又拍云的CDN上,包括开发版、正式版(version请替换),脚本已经包含了依赖的crypto-js、jsencrypt,所以只引入正式版一个即可。 - 开发版(未压缩) ``https://static.saintic.com/securehttp.js/{ version }/securehttp.js`` - 正式版(已压缩) ``https://static.saintic.com/securehttp.js/{ version }/securehttp.min.js`` Node.js ------- 在node中使用: - 安装: 可以使用npm或yarn安装,推荐使用yarn。 ``npm install securehttp`` or ``yarn add securehttp`` - 使用: securehttp.js源码就是使用node开发,您可以直接导入: .. code:: # 一次性导入 var securehttp = require('securehttp'); # 或者解构导入某一具体功能 var { AESEncrypt, RSAEncrypt } = require('securehttp'); - 开发: 如果需要二次开发或重新打包之类的,请使用git克隆仓库,``yarn`` 安装依赖。 - 打包未压缩的开发版本: ``yarn run build`` - 打包压缩的正式版本: ``yarn run dist`` - 测试: ``yarn run test`` .. note:: 温馨提示:不支持使用ES6规范导入securehttp.js API --- 浏览器端,引入securehttp.js后,会有一个全局变量 ``securehttp`` ,等同于nodejs一次性导入全部,包含了可用函数和类。 > 函数: AESEncrypt、AESDecrypt、RSAEncrypt、RSADecrypt 函数功能和用法与Python版对应 > 类: EncryptedCommunicationBrowser -> (browserEncrypt, browserDecrypt) 亦对应Python版中EncryptedCommunicationClient,browserEncrypt和browserDecrypt方法也分别对应clientEncrypt和clientDecrypt。 差异在于:browserEncrypt必须传入有效的signIndex字段,暂不支持false和全部提交数据的加签。 对应Python-SecureHTTP的文档链接: `api-documention `_ Demo ---- .. code-block:: html SecureHTTP.js .. note:: v0.1.0版本,这个js脚本放在python-securehttp的仓库中,且仅支持浏览器端(还需要先使用script引入依赖),自v0.2.0已经废弃。 v0.1.0依赖:(github) `brix/crypto-js `_、`travist/jsencrypt `_,前者是AES相关、后者是RSA相关。 而且只是用在浏览器环境,不适用于node.js开发中,且必须使用script提前引入依赖的脚本: .. code-block:: guess 或引用cdn的: