jsonwebtoken使用方法
const jtw = require('jsonwebtoken')
// 用于加解密的密钥
const secretkey = 'my_token'
// 生成token
// 接收三个参数:
// 第一个是载荷,用于编码后存储在 token 中的数据,也是验证 token 后可以拿到的数据;
// 第二个是密钥,自己定义的,验证的时候也是要相同的密钥才能解码;
// 第三个是options,可以设置 token 的过期时间。例如: { expiresIn: '2h'}、{ expiresIn: '1day' },
function getToken() {
const token = jtw.sign({
name: 'jack',
id: '1000'
}, secretkey, { expiresIn: '72h'})
console.log('生成token:', token)
return token
}
// 解析token
function Decryption(token) {
return new Promise(resolve=> {
jtw.verify(token, secretkey, (err, data) => {
if (err) {
console.log('err:', err)
return resolve(null)
}
console.log('解析token:', data)
resolve(data)
})
})
}
const token = getToken()
Decryption(token)
AES 加密
const cryptojs = require('crypto-js')
const secretkey = 'secret key 123'
/**
* 加密
* @param {string} data
*/
function encryption(str) {
const res = cryptojs.AES.encrypt(str, secretkey).toString()
console.log('加密内容:', res)
return res
}
/**
* 解密
* @param {string}} data
*/
function decryption(str) {
const bytes = cryptojs.AES.decrypt(str, secretkey)
const res = bytes.toString(cryptojs.enc.Utf8)
console.log('解密内容:', res)
return res
}
module.exports = {
encryption,
decryption
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通