node.js 加密

2021-07-21  本文已影响0人  Vergil_wj

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
}
上一篇 下一篇

猜你喜欢

热点阅读