nodejs代码加密,nodejs加密解密
node.js速度课程简介:进入学习
本文运行环境:windows7系统,nodejs版本nodejs10.16.2,DELL G3电脑。
nodejs 如何加密?
nodejs常用加密方式:
/**
* @加密模块
* @md5可以被彩虹吧破解,这里就不用了。
* @作者lwt
* */
//导入模块
var crypto=require( crypto );
/**
* @aes192加密模块
* @param str字符串要加密的字符串
* @param secret string要使用的加密密钥(记住它,否则无法解密)
* @retrun string加密字符串
* */
exports . gets ench 192=function(str,secret) {
var cipher=crypto . create cipher( AES 192 ,secret);//设置要使用的加密类型和加密密钥
var enc=cipher.update(str, utf8 , hex );//编码方式由utf-8改为十六进制;
enc=cipher . final( hex );//编码方式由十六进制改为十六进制;
返回enc//返回加密的字符串
}
/**
* @aes192解密模块
* @param str字符串要解密的字符串
* @param secret string要使用的解密密钥(应该对应密码的加密密钥,否则无法解密)
* @retrun string解密字符串
* */
exports . get decase 192=function(str,secret) {
var deciplate=crypto . create deciplate( AES 192 ,secret);
var dec=deciper . update(str, hex , utf8 );//编码方式由十六进制改为utf-8;
dec=decipe . final( utf8 );//编码方式来自utf-8;
返回dec
}
/**
* @Hmac-sha1加密模块(每次加密都是随机且不可逆的)
* @param str字符串要加密的字符串
* @param secret字符串要使用的加密密钥。
* @retrun string加密字符串
* */
exports.getHmac=function(str,secret) {
var buf=crypto . random bytes(16);
secret=buf . tostring( hex );//密钥加密;
var signature=crypto . create hmac( sha1 ,secret);//定义加密方法
signature . update(str);
var miwen=Signture.digest()。toString( base64 );//生成的密文将再次作为明文,然后用pbkdf2算法迭代加密;
还米文;
}
/**
* @sha1加密模块(加密是固定且不可逆的)
* @param str字符串要加密的字符串
* @retrun string加密字符串
* */
exports.getSha1=function(str) {
var sha1=crypto . create hash( sha1 );//定义加密方法:md5是不可逆的,这里的md5可以改成任何哈希加密的方法名;
sha1 . update(str);
var RES=sha1 . digest( hex );//加密值d
返回res
}加密就是通过某种算法改变原始的信息数据,使得未经授权的用户即使得到了加密的信息,也因为不知道解密方法而无法知道信息的真实含义。这样就提高了网络数据传输的安全性。常见的加密算法包括哈希算法、HMAC算法、签名算法、对称加密算法和非对称加密算法。加密算法也可以分为可逆和不可逆。例如,md5是不可逆加密。只能暴力破解(撞库)。我们在NodeJS的开发中直接使用这些加密算法。加密模块提供加密功能,包括一整套封装的哈希、HMAC、加密、解密、签名和OpenSSL的验证功能。使用时不需要安装核心模块。
【推荐学习:《nodejs视频教程》】以上是nodejs如何加密的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。