Heim > Web-Frontend > js-Tutorial > NodeJS-verschlüsselter Crypto-Beispielcode

NodeJS-verschlüsselter Crypto-Beispielcode

高洛峰
Freigeben: 2017-01-10 09:17:49
Original
1093 Leute haben es durchsucht

Verschlüsselungstechnologien werden üblicherweise in zwei Kategorien unterteilt: „symmetrisch“ und „asymmetrisch“.

Symmetrische Verschlüsselung:

Für die Verschlüsselung und Entschlüsselung wird derselbe Schlüssel verwendet, üblicherweise „Sitzungsschlüssel“ genannt. Diese Verschlüsselungstechnologie ist heute weit verbreitet, beispielsweise die von der US-Regierung verwendete DES Der Verschlüsselungsstandard ist eine typische „symmetrische“ Verschlüsselungsmethode und seine Sitzungsschlüssellänge beträgt 56 Bit.
Asymmetrische Verschlüsselung:

Das heißt, Verschlüsselung und Entschlüsselung verwenden normalerweise zwei Schlüssel, die als „öffentlicher Schlüssel“ und „privater Schlüssel“ bezeichnet werden Verschlüsselte Dateien können nicht geöffnet werden.

Verschlüsselung ist eine häufig verwendete Funktion im System. Node wird mit Crypto geliefert, einer leistungsstarken Verschlüsselungsfunktion.

1. Referenz zum Verschlüsselungsmodul:

var crypto=require('crypto');
var $=require('underscore');var DEFAULTS = {
  encoding: {
    input: 'utf8',
    output: 'hex'
  },
  algorithms: ['bf', 'blowfish', 'aes-128-cbc']
};
Nach dem Login kopieren

Standardkonfigurationselement für den Verschlüsselungsalgorithmus:

Das Eingabedatenformat ist utf8, das Ausgabeformat ist hexadezimal, der

-Algorithmus verwendet drei Verschlüsselungsalgorithmen: bf, blowfish und aes-128-abc>2

function MixCrypto(options) {
  if (typeof options == 'string')
    options = { key: options };
 
  options = $.extend({}, DEFAULTS, options);
  this.key = options.key;
  this.inputEncoding = options.encoding.input;
  this.outputEncoding = options.encoding.output;
  this.algorithms = options.algorithms;
}
Nach dem Login kopieren

Der Verschlüsselungsalgorithmus kann konfiguriert werden, und durch die Konfiguration von Optionen können verschiedene Verschlüsselungsalgorithmen und Kodierungen verwendet werden.

3. Der Verschlüsselungsmethodencode lautet wie folgt:

MixCrypto.prototype.encrypt = function (plaintext) {
  return $.reduce(this.algorithms, function (memo, a) {
    var cipher = crypto.createCipher(a, this.key);
    return cipher.update(memo, this.inputEncoding, this.outputEncoding)
      + cipher.final(this.outputEncoding)
  }, plaintext, this);
};
Nach dem Login kopieren

Verwenden Sie Krypto, um Daten zu verschlüsseln.

4. Der Code der Entschlüsselungsmethode lautet wie folgt:

Verwenden Sie Krypto, um Daten zu entschlüsseln.
MixCrypto.prototype.decrypt = function (crypted) {
  try {
    return $.reduceRight(this.algorithms, function (memo, a) {
      var decipher = crypto.createDecipher(a, this.key);
      return decipher.update(memo, this.outputEncoding, this.inputEncoding)
        + decipher.final(this.inputEncoding);
    }, crypted, this);
  } catch (e) {
    return;
  }
};
Nach dem Login kopieren

Verwenden Sie die Methoden „reduction“ und „reductionRight“ im Unterstrich, um Verschlüsselungs- und Entschlüsselungsalgorithmen auszuführen.

Dieser Artikel basiert auf dem Algorithmus von Min Shao. Wir entschuldigen uns für etwaige Mängel. Rookie unterwegs, mach weiter.

Der obige NodeJS-verschlüsselte Crypto-Beispielcode ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, dass er Ihnen eine Referenz geben kann, und ich hoffe, dass Sie die chinesische PHP-Website besuchen.

Weitere Artikel zum Thema NodeJS-Verschlüsselung Crypto-Beispielcode finden Sie auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage