Nodejs 数据加密传输
我俩绝配
8年前
<p>数据加密传输,这个目前我接触的几个方式,一个是密文传输,一个明文传输</p> <p>密文传输,就是用密钥对数据加密,使用公钥对数据解密,传输的通道可以是https的也可以是http的。</p> <p>明文传输,前提是建立一个安全的传输通道,这里使用证书对通道的安全做了防护,然后传输数据,使用的是明文。</p> <p>比较专业的 可以后面慢慢分享,不过这里我就介绍下明文传输,如果是用nodejs建立安全通道</p> <p>使用两个库,分别是urllib和request,这里的证书只介绍使用pfx文件</p> <p>urllib库的方式</p> <pre> <code class="language-javascript">const urllibRequest = (url, method, data, pfx, pass) => { return new Promise(function(resolve, reject) { let options = { data: data, method: method, pfx: pfx, passphrase: pass, rejectUnauthorized: false } urllib.request(url, options, function(err, data, res) { if (err) { return reject(err); } return resolve(data.toString()); }); }); }</code></pre> <p>request库的方法</p> <pre> <code class="language-javascript">const httpRequest = (url, method, data, pfx, pass) => { return new Promise((resolve, reject) => { let options = { url: url, method: method, form: data, headers: { 'Content-type': 'application/x-www-form-urlencoded' }, agentOptions: { pfx: pfx, passphrase: pass, rejectUnauthorized: false } }; request(options, function(err, httpResponse, data) { if (err) { return reject(err); } return resolve(data); }) }); }</code></pre> <p> </p> <p>来自:http://www.gowhich.com/blog/779</p> <p> </p>