Utiliser require («crypto») pour appeler le module de chiffrement.
Le module de chiffrement nécessite le support d'OpenSSL du système sous-jacent. Il fournit un moyen de résumer les informations d'identification de sécurité, qui peuvent être utilisées pour les réseaux sécurisés HTTPS et les connexions HTTP ordinaires.
Le module fournit également un ensemble d'encapsulations pour le hachage d'OpenSSL (hachage), HMAC (Key Hash), Cipher (codage), déchiffrer (décodage), signe (signe) et vérification (vérification).
crypto.CreateCredentials (détails)
Créez un objet d'identification avec les détails des paramètres facultatifs en tant que dictionnaire avec des valeurs de clé:
Clé: une clé privée qui est de type chaîne, encodée PEM.
CERT: Un type de chaîne, certificat d'authentification encodé PEM.
CA: Un certificat de CA de confiance en codés PEM sous forme de chaîne, ou une liste de certificats.
Si aucun détail de 'CA' n'est donné, Node.js utilisera la liste de confiance publique par défaut, qui est située à http://mxr.mozilla.org/mozilla/source/security/nss/lib/ckfw/builtins/certdata.txt.
crypto.createhash (algorithme)
Crée et renvoie un objet de hachage, qui est un hachage crypté de l'algorithme spécifié, utilisé pour générer un digestion de hachage.
L'algorithme de paramètre peut sélectionner l'algorithme pris en charge par la version OpenSSL installée sur le système. Par exemple: «Sha1», «MD5», «Sha256», «Sha512», etc. Dans les sorties récentes, OpenSSL List-Message-Digest-Algorithms affiche ces algorithmes de digest disponibles.
hash.update (données)
Mettez à jour le contenu du hachage vers les données spécifiées. Cette méthode peut être appelée plusieurs fois lors de l'utilisation de données de streaming.
hash.digest (encoding = 'binaire')
Calcule le résumé du hachage de toutes les données entrantes. Le paramètre d'encodage peut être «hex», «binaire» ou «base64».
crypto.createhmac (algorithme, clé)
Crée et renvoie un objet HMAC, qui est un HMAC crypté qui spécifie l'algorithme et la clé.
L'algorithme de paramètre peut être sélectionné par OpenSSL-See CreateHash ci-dessus. La clé de paramètre est la clé utilisée par HMAC.
hmac.update (données)
Mettez à jour le contenu HMAC vers les données spécifiées. Cette méthode peut être appelée plusieurs fois lors de l'utilisation de données de streaming.
hmac.digest (coding = 'binary')
Calcule le digest HMAC de toutes les données entrantes. Le paramètre d'encodage peut être «hex», «binaire» ou «base64».
crypto.createecipher (algorithme, clé)
Créez et renvoyez un objet de chiffre à l'aide de l'algorithme et de la clé spécifiées.
L'algorithme des paramètres peut sélectionner des algorithmes pris en charge par OpenSSL, tels que «AES192», etc. Dans les versions récentes, OpenSSL List-Cipher-Algorithms affiche les algorithmes de chiffrement disponibles.
cipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
Utilisez les données des paramètres pour mettre à jour le contenu à crypter, et sa méthode de codage est spécifiée par le paramètre input_encoding, qui peut être «utf8», «ASCII» ou «binaire». Le paramètre output_encoding spécifie la méthode de codage de sortie de contenu chiffré, qui peut être «binaire», «base64» ou «hex».
Renvoie le contenu chiffré, qui peut être appelé plusieurs fois lors de l'utilisation de données de streaming.
cipher.final (output_encoding = 'binary')
Renvoie tous les contenus cryptés restants, la sortie Output_encoding est codée comme une des «binaires», «ASCII» ou «UTF8».
crypto.createdecipher (algorithme, clé)
Créez et renvoyez un objet déchiffré à l'aide de l'algorithme et de la clé donné. Cet objet est le fonctionnement inverse de l'objet crypté susmentionné ci-dessus.
Decipher.update (data, input_encoding = 'binary', output_encoding = 'binary')
Utilisez les données des paramètres pour mettre à jour le contenu à décrypter, et son codage est «binaire», «base64» ou «hex». Le paramètre output_encoding spécifie la méthode de codage de sortie du contenu en texte en clair décrypté, qui peut être «binaire», «ASCII» ou «UTF8».
Decipher.Final (output_encoding = 'binary')
Renvoie tous les textes clairs décryptés restants, dont la sortie_encoding «est celle de« binaire »,« ASCII »ou« UTF8 »».
crypto.createSign (algorithme)
Créez et renvoyez un objet Signature à l'aide de l'algorithme donné. Dans les distributions OpenSSL existantes, OpenSSL List-Public-Key-Algorithms affiche des algorithmes de signature disponibles, tels que: «RSA-SHA256».
signataire.update (données)
Mettez à jour l'objet Signature avec le paramètre de données. Cette méthode peut être appelée plusieurs fois lors de l'utilisation de données de streaming.
sign.sign (private_key, output_format = 'binary')
Calculez sa signature pour toutes les données transmises à la signature. Private_key est une chaîne qui contient la clé privée encodée PEM pour la signature.
Renvoie la signature, dont la sortie Output_format peut être «binaire», «hexadécimal» ou «base64».
crypto.createverify (algorithme)
Créez et renvoyez un objet Validator à l'aide de l'algorithme donné. C'est le fonctionnement inverse de l'objet de signature ci-dessus.
Verifier.Update (données)
Mettez à jour l'objet Validator avec le paramètre de données. Cette méthode peut être appelée plusieurs fois lors de l'utilisation de données de streaming.
Vérifier.Verify (Cert, Signature, Signature_format = 'Binary')
Utilisez les paramètres CERT et Signature pour vérifier les données signées. Le CERT est une chaîne de clé publique codée PEM, la signature est la signature des données précédemment calculées, et Signature_Format peut être «binaire», «hexadécimal» ou «base64».
Renvoie vrai ou faux en fonction des résultats de la vérification de validité de signature des données et de la clé publique.
Comment rédiger un code de chiffrement irréversible lorsque vous avez besoin
La copie de code est la suivante:
var text = "123 | 12312312123123121231231212312312312123123123123121231231231231231231231231231231231231231231212
var hasher = crypto.createhash ("md5");
hasher.update (texte);
var hashmsg = hasher.digest ('hex'); // hashmsg est les données cryptées
Lorsque vous avez besoin d'un environnement crypté et décrypté
La copie de code est la suivante:
var key = "asdhjwhereu * asd123-123"; // clé secrète cryptée
var text = "123 | 12312312123123121231231212312312312123123123123121231231231231231231231231231231231231231231212
var crypted = cipher.update (texte, 'utf8', 'hex');
crypté + = cipher.final ('hex');
var message = crypté; // la valeur après cryptage
var Deciffher = crypto.createDeCipher ('aes-256-cbc', key);
var dec = Decipher.update (message, 'hex', 'utf8');
dec + = decripher.final ('utf8'); // la valeur après décryptage
PS: Concernant la technologie de chiffrement, ce site fournit également les outils de chiffrement suivants pour votre référence:
MD5 Outil de chiffrement en ligne: http://tools.vevb.com/password/createmd5password
Outil de cryptage / décryptage d'échappement: http://tools.vevb.com/password/escapepwd
Outil de chiffrement SHA1 en ligne: http://tools.vevb.com/password/sha1encode
Lien court (URL courte) Outil de génération en ligne: http://tools.vevb.com/password/dwzcreate
Lien court (URL courte) Outil de restauration en ligne: http://tools.vevb.com/password/unshorturl
Générateur de mots de passe à haute résistance: http://tools.vevb.com/password/createstrongpassword