jwt同样的内容生成的token不一样
发布于 7 年前 作者 tinycold 5391 次预览 最后一次回复是 7 年前 来自 问答
直接贴代码吧:
const jwt = require('jsonwebtoken')
var token
token = jwt.sign({ foo: 'bar' }, 'shhhhh')
console.log(token)
token = jwt.sign({ foo: 'bar' }, 'shhhhh')
console.log(token)
token = jwt.sign({ foo: 'bar' }, 'shhhhh')
console.log(token)
第一次执行这个代码,连续生成并且打印三次token,三次打印出的token都是一样的。
第二次执行这个代码,生成的token与第一次执行时不一样。
也就是不同的进程,生成的token是不一样的。为什么?
我理解的的HAC算法应该是固定的输入就有固定的输出
2 回复
与进程无关,与签发时间有关
试一下
https://github.com/auth0/node-jsonwebtoken/blob/master/sign.js#L141
@DerekYeung Thanks very very very much! 这个问题导致的一系列问题困扰我很久很久啦。 总算搞清楚了