這篇文章主要為大家展示了“nodejs怎么加密”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“nodejs怎么加密”這篇文章吧。
公司主營業(yè)務(wù):成都做網(wǎng)站、網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出建華免費(fèi)做網(wǎng)站回饋大家。
nodejs加密的方法:1、導(dǎo)入crypto模塊;2、設(shè)置加密類型和要使用的加密密鑰;3、將編碼方式從utf-8轉(zhuǎn)為hex;4、返回加密后的字符串即可。
本文操作環(huán)境:windows7系統(tǒng)、nodejs10.16.2版,DELL G3電腦。
nodejs 如何加密?
nodejs常用加密方式:
/** * @加密模塊 * @md5可以被彩虹吧破解,這里就不用啦 * @author lwt * */ //導(dǎo)入模塊 var crypto = require('crypto'); /** * @aes192加密模塊 * @param str string 要加密的字符串 * @param secret string 要使用的加密密鑰(要記住,不然就解不了密啦) * @retrun string 加密后的字符串 * */ exports.getEncAse192 = function(str, secret) { var cipher = crypto.createCipher("aes192", secret); //設(shè)置加密類型 和 要使用的加密密鑰 var enc = cipher.update(str, "utf8", "hex"); //編碼方式從utf-8轉(zhuǎn)為hex; enc += cipher.final("hex"); //編碼方式從轉(zhuǎn)為hex; return enc; //返回加密后的字符串 } /** * @aes192解密模塊 * @param str string 要解密的字符串 * @param secret string 要使用的解密密鑰(要和密碼的加密密鑰對應(yīng),不然就解不了密啦) * @retrun string 解密后的字符串 * */ exports.getDecAse192 = function(str, secret) { var decipher = crypto.createDecipher("aes192", secret); var dec = decipher.update(str, "hex", "utf8");//編碼方式從hex轉(zhuǎn)為utf-8; dec += decipher.final("utf8");//編碼方式從utf-8; return dec; } /** * @Hmac-sha1加密模塊 (每次加密隨機(jī),不可逆) * @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; }
加密是以某種算法改變原有的信息數(shù)據(jù),使得未授權(quán)用戶即使獲得了已加密信息,因不知解密的方法,無法得知信息真正的含義,通過這種方式提高網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)陌踩?,加密算法常見的有哈希算法、HMAC 算法、簽名、對稱性加密算法和非對稱性加密算法,加密算法也分為可逆和不可逆,比如 md5 就是不可逆加密,只能暴力破解(撞庫),我們在 NodeJS 開發(fā)中就是直接使用這些加密算法,crypto 模塊提供了加密功能,包含對 OpenSSL 的哈希、HMAC、加密、解密、簽名以及驗(yàn)證功能的一整套封裝,核心模塊,使用時(shí)不需安裝。
以上是“nodejs怎么加密”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!