node 提供了一个核心安全模块“crypto”,它提供了很多安全相关功能,如摘要运算、加密、电子签名等。
引入加密模块
const crypto = require('crypto')
封装一个 md5 加密算法的函数:
function jiami (str){
//需要加密的字符串
let password = str;
//使用的加密算法:md5
let sf = crypto.createHash('md5');
//对字符串进行加密
st.update(password)
//加密的二进制数据以 16 进制输出
let content = sf.diggest('hex')
return content
}
自己定义加密 cookie:
//引入加密模块
const crypto = require('crypto');
let secretCookie = {}
//自己定义加密 cookie
router.get('/appSecret',(res,req)=>{
let secretStr = jiami('true')
res.cookie('register',secretStr )
//将加密的密文和明文内容放置在某个位置
setSecretCookie('true',secretStr )
res.send('cookie 加密成功')
})
//获取自己加密的 cookie 值
router.get('/getAppSecret',(res,req)=>{
//获取加密之后的密文
let strSecret = req.cookies.register;
content = getSecretCookie(strSecret );
console.log("解密后 register 内容",content);
res.send("解密后 register 内容" + content));
})
function setSecretCookie(str,secretStr){
secretCookie[secretStr] = str;
}
function getSecretCookie(secretStr){
return secretCookie[secretStr];
}
//加密函数
function jiami (str){
//需要加密的字符串
let password = str;
//使用的加密算法
let sf = crypto.createHash('md5');
//对字符串进行加密
st.update(password)
//加密的二进制数据以 16 进制输出
let content = sf.diggest('hex')
return content
}
网友评论