Nodejs 數據加密傳輸

我倆絕配 8年前發布 | 7K 次閱讀 Node.js Node.js 開發

數據加密傳輸,這個目前我接觸的幾個方式,一個是密文傳輸,一個明文傳輸

密文傳輸,就是用密鑰對數據加密,使用公鑰對數據解密,傳輸的通道可以是https的也可以是http的。

明文傳輸,前提是建立一個安全的傳輸通道,這里使用證書對通道的安全做了防護,然后傳輸數據,使用的是明文。

比較專業的 可以后面慢慢分享,不過這里我就介紹下明文傳輸,如果是用nodejs建立安全通道

使用兩個庫,分別是urllib和request,這里的證書只介紹使用pfx文件

urllib庫的方式

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());
    });
  });
}

request庫的方法

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);
    })
  });
}

 

來自:http://www.gowhich.com/blog/779

 

 本文由用戶 我倆絕配 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!