请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于jwt

直接使用秘钥对cookie加密不就行了,用户不知道秘钥依然无法伪造token啊,为什么非要用jwt?

正在回答 回答被采纳积分+3

2回答

bobby 2019-10-28 11:06:50

cookie中并没有记录着用户的id等信息,所以即使加密了cookie但是解密后的信息还是得查数据库,。这个和直接使用cookie没有什么区别,jwt在于服务器中不保存信息,这样用作分布式的服务很方便

0 回复 有任何疑惑可以回复我~
  • 提问者 飘渺的心意 #1
    可以把{ id: 1, username: 'xxx' }这样加密后保存cookie啊,这样就有用户信息了,验证权限的时候解密回来查数据库
    回复 有任何疑惑可以回复我~ 2019-10-28 19:33:19
  • bobby 回复 提问者 飘渺的心意 #2
    cookie的默认机制是生成一段不容易伪造的字符串。这里面没有包含任何信息,然后将这里面你说的id等信息保存在表中,然后通过这段id查询这个表得到用户的信息,所以这样最大的问题就是这张表了,也就是必须有服务器保存数据的过程,就不方便做分布式了,但是如果你要是自己不做这个映射了,那你不就是自己开发了一个jwt了么?
    回复 有任何疑惑可以回复我~ 2019-10-30 18:24:59
  • 提问者 飘渺的心意 回复 bobby #3
    不是保存到表,是加密后保存到cookie
    回复 有任何疑惑可以回复我~ 2019-10-30 19:33:34
提问者 飘渺的心意 2019-10-26 11:48:34

这里的jwt在登录的时候不是用secret_key加密么,然后权限验证的时候再用secret_key解密,也没涉及到什么非对称加密啊,jwt和普通的加密cookie方式似乎没什么区别

0 回复 有任何疑惑可以回复我~
  • jwt本来就不是非对称加密啊,课程中讲了只有用第三方支付才需要非对称加密
    回复 有任何疑惑可以回复我~ 2022-02-23 22:58:51
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信