nodejs 如何加密
nodejs 如何加密?
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;
}
加密是以某种算法改变原有的信息数据,使得未授权用户即使获得了已加密信息,因不知解密的方法,无法得知信息真正的含义,通过这种方式提高网络数据传输的安全性,加密算法常见的有哈希算法、HMAC 算法、签名、对称性加密算法和非对称性加密算法,加密算法也分为可逆和不可逆,比如 md5 就是不可逆加密,只能暴力破解(撞库),我们在 NodeJS 开发中就是直接使用这些加密算法,crypto 模块提供了加密功能,包含对 OpenSSL 的哈希、HMAC、加密、解密、签名以及验证功能的一整套封装,核心模块,使用时不需安装。
以上就是nodejs 如何加密的详细内容,更多请关注毛票票其它相关文章!
热门推荐
10 高一祝福语简短 励志
11 立秋节气简短祝福语
12 简短公司周年祝福语大全
13 中考感言简短祝福语大全
14 体育老师简短祝福语
15 干杯生日祝福语简短独特
16 特别简短的祝福语老师
17 朋友坐车走了祝福语简短
18 给英雄的祝福语简短