Maison  >  Article  >  interface Web  >  nodejs comment chiffrer

nodejs comment chiffrer

藏色散人
藏色散人original
2021-09-03 14:34:545253parcourir

Méthode de cryptage Nodejs : 1. Importez le module de cryptage ; 2. Définissez le type de cryptage et la clé de cryptage à utiliser ; 3. Convertissez la méthode de cryptage de utf-8 en hexadécimal ; 4. Renvoyez la chaîne cryptée.

nodejs comment chiffrer

L'environnement d'exploitation de cet article : système Windows 7, nodejs version 10.16.2, ordinateur DELL G3.

Comment chiffrer nodejs ?

Méthodes de cryptage couramment utilisées dans nodejs :

/**
 * @加密模块
 * @md5可以被彩虹吧破解,这里就不用啦
 * @author lwt
 * */
//导入模块
var crypto = require('crypto');
/**
 * @aes192加密模块
 * @param str string 要加密的字符串
 * @param secret string 要使用的加密密钥(要记住,不然就解不了密啦)
 * @retrun string 加密后的字符串
 * */
exports.getEncAse192 = function(str, secret) {
    var cipher = crypto.createCipher("aes192", secret); //设置加密类型 和 要使用的加密密钥
    var enc = cipher.update(str, "utf8", "hex");    //编码方式从utf-8转为hex;
    enc += cipher.final("hex"); //编码方式从转为hex;
    return enc; //返回加密后的字符串
}
/**
 * @aes192解密模块
 * @param str string 要解密的字符串
 * @param secret string 要使用的解密密钥(要和密码的加密密钥对应,不然就解不了密啦)
 * @retrun string 解密后的字符串
 * */
exports.getDecAse192 = function(str, secret) {
    var decipher = crypto.createDecipher("aes192", secret);
    var dec = decipher.update(str, "hex", "utf8");//编码方式从hex转为utf-8;
    dec += decipher.final("utf8");//编码方式从utf-8;
    return dec;
}
/**
 * @Hmac-sha1加密模块 (每次加密随机,不可逆)
 * @param str string 要加密的字符串
 * @param secret string 要使用的加密密钥
 * @retrun string 加密后的字符串
 * */
exports.getHmac = function(str, secret) {
    var buf = crypto.randomBytes(16);
    secret = buf.toString("hex");//密钥加密;
    var Signture = crypto.createHmac("sha1", secret);//定义加密方式
    Signture.update(str);
    var miwen=Signture.digest().toString("base64");//生成的密文后将再次作为明文再通过pbkdf2算法迭代加密;
    return miwen;
}
/**
 * @sha1加密模块 (加密固定,不可逆)
 * @param str string 要加密的字符串
 * @retrun string 加密后的字符串
 * */
exports.getSha1 = function(str) {
    var sha1 = crypto.createHash("sha1");//定义加密方式:md5不可逆,此处的md5可以换成任意hash加密的方法名称;
    sha1.update(str);
    var res = sha1.digest("hex");  //加密后的值d
    return res;
}

Le cryptage consiste à utiliser un certain algorithme pour modifier les données d'informations d'origine, de sorte que même si des utilisateurs non autorisés obtiennent les informations cryptées, ils ne peuvent pas connaître la véritable signification des informations car ils ne connaissent pas la méthode de décryptage, de cette manière, la sécurité de la transmission des données sur le réseau est améliorée. Les algorithmes de cryptage courants incluent l'algorithme de hachage, l'algorithme HMAC, la signature, l'algorithme de cryptage symétrique et l'algorithme de cryptage asymétrique. irréversible, comme md5. Le cryptage irréversible ne peut être craqué que violemment (credential stuffing). Nous utilisons ces algorithmes de cryptage directement dans le développement NodeJS. Le module crypto fournit des fonctions de cryptage, notamment les fonctions de hachage, HMAC, de cryptage, de décryptage, de signature et de vérification d'OpenSSL. . Package complet, module de base, aucune installation requise pendant l'utilisation.

【Apprentissage recommandé : "Tutoriel vidéo Nodejs"】

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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