La technologie de chiffrement est généralement divisée en deux catégories: "symétrique" et "asymétrique".
Cryptage symétrique:
Cela signifie que le chiffrement et le décryptage utilisent la même clé, qui est communément appelée "clé de session". Cette technologie de chiffrement est largement utilisée aujourd'hui. Par exemple, la norme DES Encryption adoptée par le gouvernement américain est une méthode de cryptage typique "symétrique", et sa longueur de clé de session est de 56 bits.
Cryptage asymétrique:
C'est-à-dire que le chiffrement et le décryptage n'utilisent pas la même clé, il y a généralement deux clés, appelées "clé publique" et "clé privée". Ils doivent être utilisés par paires, sinon le fichier crypté ne peut pas être ouvert.
Le cryptage est une fonction fréquemment utilisée dans le système. Le nœud est livré avec une crypto de fonction de cryptage puissante. Ce qui suit est un exemple simple à pratiquer.
1. Références au module de chiffrement:
var crypto = require ('crypto'); var $ = require ('calendrier'); var defaults = {coding: {input: 'utf8', output: 'hex'}, algorithms: ['bf', 'Blowfish', 'aes-128-cbc']};Éléments de configuration de l'algorithme de chiffrement par défaut:
Le format de données d'entrée est UTF8, le format de sortie est hex
L'algorithme utilise trois algorithmes de chiffrement: BF, Blowfish et AES-128-ABC;
2. Initialisation de l'élément de configuration:
fonction mixCrypto (options) {if (typeof options == 'string') options = {key: options}; options = $ .extend ({}, par défaut, options); this.key = options.Key; this.inputencoding = options.encoding.input; this.outputencoding = options.encoding.output; this.algorithms = options.algorithms;}L'algorithme de chiffrement peut être configuré et différents algorithmes de chiffrement et encodages peuvent être utilisés via des options de configuration.
3. Le code de la méthode de chiffrement est le suivant:
MixCrypto.prototype.encrypt = fonction (plain-text) {return $ .reduce (this.algorithms, fonction (mémo, a) {var cipher = crypto.createecipher (a, this.key); return cipher.update (mémo, this.inputenCcoding, this.outputending) + Cipher. ce);};Utilisez la crypto pour chiffrer 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 (mémo, a) {var Deciffher = crypto.createdecipher (a, this.key); return Depipher.update (memo, this.outpulencoding, this.inputencoding) + Decipher.Final (this.inputencoding);}, crypté, this); } catch (e) {return; }};Utilisez la crypto pour décrypter les données.
L'algorithme de chiffrement et de décryptage est exécuté par les méthodes de réduction et de réducteur dans le soulignement.
Cet article est écrit sur la base de l'algorithme écrit par Min Shao. S'il y a des lacunes, veuillez me pardonner. La recrue est sur la route, continue d'avancer.
L'exemple de code ci-dessus de NodeJS Encryption crypto est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.