JWT和token有什么区别?

JWT和token有什么区别?,这是一道非常高频的前端面试题,但是很多同学在面试时候都回答不出来。老规矩,点赞收藏,点点关注支持一下,给我一分钟,理想哥教大家该怎么满分回答这个问题

如果我是求职者,我会这么回答:

Token其实就是一个加密的字符串,通过MD5等一些不可逆加密算法实现的,可以保证唯一性。

JWT是json web token缩写,是一种特定类型的Token,它采用了JSON格式来存储有关用户身份和访问权限的信息。JWT会把用户信息加密到token里,服务器不保存任何用户信息,服务器通过使用保存的密钥来验证JWT Token。

JWT由三部分组成,分别是头部(Header)、载荷(Payload)和签名(Signature),头部包含有关JWT的元数据和算法信息,载荷包含实际的用户数据,例如用户ID、角色等,签名用于验证JWT的完整性和真实性。

JWT和token的区别主要体现在是否需要查询数据库。对了Token来说,服务端验证客户端发送过来的 Token 时,还需要查询数据库获取用户信息,然后验证 Token 是否有效。而JWT则不需要,因为用户的信息及加密信息、过期时间,都存储在JWT里,服务端只需要使用密钥解密进行校验即可,不需要查询或者减少查询数据库。

以上就是这个问题的回答了,大家可以下次面试时试试这么回答看看效果。

最后,欢迎关注理想哥,每天学点前端面试小技巧。

#前端#
全部评论
token不一定非得是加密的,有的token直接用的base64转换过去的
2 回复 分享
发布于 2024-07-03 22:57 辽宁
一次面java后端问我这个问题,当时确实有点懵
2 回复 分享
发布于 2024-07-03 20:47 陕西
原来如此
2 回复 分享
发布于 2024-06-29 12:30 北京
不对吧?
点赞 回复 分享
发布于 2024-07-28 13:24 江西

相关推荐

查看9道真题和解析 简历中的项目经历要怎么写
点赞 评论 收藏
分享
头像
05-09 16:22
已编辑
华南师范大学 Java
  一面四小时后通知次日二面——————————🧠 个人背景与项目经历1.XX系统是你们这边的项目吗?你一直在做这个项目吗?2.做过一个XX项目是吧?是学习项目还是公司项目?3.项目中你主要负责了什么?4.你参与的项目经验多吗?5.除了XX和XX系统,有没有别的项目可以讲讲?💻 技术能力 - 后端开发6.数据库与安全7.你们系统是怎么存储用户密码的?8.单纯用 MD5 会有撞库风险,如何防御?9.接口调用怎么验证调用方身份?10.使用 MD5 校验上传文件的目的是什么?☕Java & Spring11.Spring Boot 用了哪些 starter?各自的作用是什么?12.如果第三方 starter 功能不够怎么办?13.Spring Boot 中有没有用到 AOP?14.可以用来扩展 starter 的方式有哪些?15.Spring 全家桶覆盖的范围够用吗?多线程与线程安全16.ConcurrentHashMap 为什么线程安全?17.JDK1.8 之前和之后的实现有何区别?18.size() 方法是怎么统计的?是否加锁?🔐 安全性与权限控制19.上传文件前需要做哪些安全校验?接口安全20.接口层面做了哪些安全处理?21.JWT 是怎么生成的?22.JWT 是用哪个库实现的?签名算法是什么?23.Token 刷新的触发机制是什么?24.项目中有没有做 token 自动续期?幂等性25.接口幂等性有哪些实现方式?⚙️ 系统架构与中间件26.Redis 与缓存机制27.什么是缓存穿透?怎么解决?28.什么是缓存击穿?怎么解决?29.什么是缓存雪崩?怎么解决?30.热 key 会带来什么问题?如何应对?MQ & 延迟任务31.用 MQ 实现了什么业务?32.如何通过 MQ 做延迟队列?解决了什么问题?🧱 设计模式33.工厂模式和抽象工厂模式的区别是什么?34.代理模式和装饰器模式有什么不同?🧠 Java 基础知识35.Java 能否继承多个类?36.接口中能定义实现方法吗?JDK8 之后呢?37.接口中 default 方法你了解吗?🧪 Linux 运维基础38.在 Linux 下怎么查看远程端口是否可达?39.除了 telnet 还有什么命令可以测试端口?(比如 nc)
点赞 评论 收藏
分享
评论
46
180
分享

创作者周榜

更多
牛客网
牛客企业服务