JWT

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

JWT.IO allows you to decode, verify and generate JWT.

JSON Web令牌是一种开放的行业标准RFC 7519方法,用于在双方之间安全地表示索赔。JWT。IO允许您解码、验证和生成JWT。

session

通过一个sessionId标识,保存在服务器,不利于集群

token

一般利用token+redis,利用UUID生成一个令牌,利用该令牌来访问redis,从而获得当前的用户信息,每次都需要查询redis。
在这里插入图片描述

JWT

先来生成一个JWT

 <!-- jwt -->
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
            <version>0.9.1</version>
        </dependency>
public class JWTDemo1 {
    public static void main(String[] args) {
        String secretKey = "mayiktKey";
        JwtBuilder jwtBuilder = Jwts.builder()
                .setId("66")
                .setSubject("mayikt")
                .setIssuedAt(new Date())
                .claim("username","jielin")
                .signWith(SignatureAlgorithm.HS256,secretKey);
        System.out.println(jwtBuilder.compact());
    }
}
eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiI2NiIsInN1YiI6Im1heWlrdCIsImlhdCI6MTYxNzUxODk1NCwidXNlcm5hbWUiOiJqaWVsaW4ifQ.naLH38W2kbYZUFDF0TEfF9_baoqyznyuFsOe1BompBM

https://jwt.io/#debugger-io
在这里插入图片描述
密钥验证成功
在这里插入图片描述

1.头部

{
“alg”: “HS256”,
“typ”: “JWT”
}
描述了PayLoad的加密方式

2.装载的数据 PayLoad

在这里插入图片描述

3.验证签名

与Token的区别:
JWT不依赖于服务器端,将数据信息内容直接存放在客户端

JWT优缺点
优点:
1.无需在服务器存放用户的数据,减轻服务器的压力
2.轻量级的,json风格简单
3.跨语言
缺点:
1.无法更新jwt有效期
2.无法销毁一个jwt

在这里插入图片描述
所以修改PayLoad的数据被修改了就可以发现!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值