Token(令牌)是一种用于访问资源的凭证。它是在认证成功后生成的,用于标识用户的身份和权限。Token其实就是一个加密的字符串,通过MD5等一些不可逆加密算法实现的,可以保证唯一性。 在网络应用中,Token 通常是作为一种安全机制,用于验证用户的身份和授权访问资源。
JWT(JSON Web Token)是一种特定类型的Token,它采用了JSON格式来存储有关用户身份和访问权限的信息。JWT会把用户信息加密到token里,服务器不保存任何用户信息,服务器通过使用保存的密钥来验证JWT Token。
区别:
- 格式:JWT 是一种特定的 token 格式,它使用 JSON 格式来表示数据。而 token 是一个通用术语,可以指代任意的字符串或数字等形式。
- 内容:JWT 除了包含用户的认证信息外,还可以包含其他一些声明的信息。而 token 只包含标识用户身份和权限的信息。
- 安全性:JWT 使用数字签名或加密来确保其内容的完整性和安全性。而 token 可能在传输过程中被篡改或盗用。
- JWT和token的区别主要体现在是否需要查询数据库。对Token来说,服务端验证客户端发送过来的 Token 时,还需要查询数据库获取用户信息,然后验证 Token 是否有效。而JWT则不需要,因为用户的信息及加密信息、过期时间,都存储在JWT里,服务端只需要使用密钥解密进行校验即可,不需要查询或者减少查询数据库。
总结来说,JWT 是一种特定格式的 token,它包含了更多的信息并具有更高的安全性。而 token 是一个更加通用的概念,可以指代任意形式的凭证。