工具:JWT的简单使用

本文介绍了JWT(JSON Web Token)的基本概念和工作流程,包括其字符串结构和加密验证机制。通过Java代码示例展示了如何使用jjwt库创建和解析JWT,强调了设置HashMap初始大小的重要性。JWT在身份验证和授权中扮演关键角色,提供了一种安全传递信息的方式。
摘要由CSDN通过智能技术生成

JWT(JSON Web Token)

JWT就是一个字符串,经过加密处理与校验处理的字符串,形式为:A.B.C

格式

  • A由JWT头部信息header加密得到
  • B由JWT用到的身份验证信息json数据加密得到
  • C由A和B加密得到,是校验部分

在这里插入图片描述

流程

在这里插入图片描述

Demo

依赖

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
    <version>0.9.1</version>
</dependency>

代码

public class MyJwt {
    public static void main(String[] args) {
        // 盐值
        String secret = "JOJO";
        Map<String, Object> map = new HashMap<String, Object>(2);
        map.put("name", "zhangsan");
        map.put("age", 18);
        /*JwtBuilder jwtBuilder = Jwts.builder();*/
        String token = Jwts.builder()
                // 设置响应数据体
                .setClaims(map)
                // 设置加密方法和加密盐
                .signWith(SignatureAlgorithm.HS256, secret)
                .compact();
        System.out.println(token);

        // 通过token解析数据
        /*JwtParser parser = Jwts.parser();*/
        Map<String, Object> body = Jwts.parser()
                // 盐值
                .setSigningKey(secret)
                // token
                .parseClaimsJws(token)
                .getBody();
        System.out.println(body);
    }
}

为什么要指定HashMap初始大小???

Map<String, Object> map = new HashMap<String, Object>(2);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值