Maison > interface Web > js tutoriel > Exemple de code Crypto chiffré par Nodejs

Exemple de code Crypto chiffré par Nodejs

高洛峰
Libérer: 2017-01-10 09:17:49
original
1132 Les gens l'ont consulté

Les technologies de cryptage sont généralement divisées en deux catégories : « symétriques » et « asymétriques ».

Cryptage symétrique :

La même clé est utilisée pour le cryptage et le déchiffrement, généralement appelée "Session Key". Cette technologie de cryptage est largement utilisée aujourd'hui, comme celle utilisée par le gouvernement américain Le DES. La norme de chiffrement est une méthode de chiffrement « symétrique » typique et sa longueur de clé de session est de 56 bits.
Cryptage asymétrique :

C'est-à-dire que le cryptage et le déchiffrement utilisent des clés différentes. Il existe généralement deux clés, appelées "clé publique" et "clé privée". Les deux sont requises par paires. les fichiers cryptés ne peuvent pas être ouverts.

Le cryptage est une fonction fréquemment utilisée dans le système. Node est livré avec la puissante fonction de cryptage Crypto. Pratiquons avec un exemple simple.

1. Référence du module de cryptage :

var crypto=require('crypto');
var $=require('underscore');var DEFAULTS = {
  encoding: {
    input: 'utf8',
    output: 'hex'
  },
  algorithms: ['bf', 'blowfish', 'aes-128-cbc']
};
Copier après la connexion

Élément de configuration de l'algorithme de cryptage par défaut :

Le format des données d'entrée est utf8, le format de sortie est hexadécimal, l'algorithme

utilise trois algorithmes de cryptage : bf, Blowfish et 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;
}
Copier après la connexion

L'algorithme de cryptage peut être configuré, et différents algorithmes de cryptage et encodages peuvent être utilisés en configurant les options.

3. Le code de la méthode de cryptage est le suivant :

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);
};
Copier après la connexion

Utilisez la cryptographie pour crypter les données.

4. Le code de la méthode de décryptage est le suivant :

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;
  }
};
Copier après la connexion

Utilisez la crypto pour décrypter les données.

Utilisez les méthodes réduire et réduireRight en trait de soulignement pour exécuter des algorithmes de chiffrement et de déchiffrement.

Cet article est rédigé sur la base de l'algorithme écrit par Min Shao. Nous nous excusons pour toute lacune. Rookie sur la route, continuez.

L'exemple de code Crypto crypté par nodejs ci-dessus est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et j'espère que vous visiterez le site Web PHP chinois.

Pour plus d'articles sur le code d'exemple de crypto de chiffrement nodejs, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal