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加密模塊 (每次加密隨機,不可逆)
 * @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;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容