Heim >Web-Frontend >js-Tutorial >Eine kurze Analyse der Datenverschlüsselungsübertragung von Node.j

Eine kurze Analyse der Datenverschlüsselungsübertragung von Node.j

高洛峰
高洛峰Original
2016-12-06 15:53:421399Durchsuche

Vorwort

Es gibt mehrere Möglichkeiten, mit denen jeder für die verschlüsselte Datenübertragung in Berührung kommt, und die andere ist die Übertragung im Klartext, bei der die Daten mit einem Schlüssel verschlüsselt und verwendet werden ein öffentlicher Schlüssel zum Entschlüsseln der Daten. Der Kanal kann https oder http sein. Die Voraussetzung der Klartextübertragung besteht darin, einen sicheren Übertragungskanal einzurichten. Dabei wird ein Zertifikat verwendet, um die Sicherheit des Kanals zu schützen, und dann werden die Daten im Klartext übertragen.

Wer professioneller ist, kann es später teilen, aber hier werde ich die Übertragung im Klartext vorstellen. Wenn NodeJS zum Einrichten eines sicheren Kanals verwendet wird

Verwenden Sie hier zwei Bibliotheken, nämlich urllib und request Das Zertifikat führt nur die Methode zur Verwendung der PFX-Datei

urllib-Bibliothek

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

Anforderungsbibliotheksmethode

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


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn