java jwt payload_深入了解java-jwt生成与校验|chu

本文介绍了JWT的基本概念、组成部分以及在Java中如何使用java-jwt库进行JWT的生成与验证。JWT是一种简洁、自包含且安全的身份验证机制,由Header、Payload和Signature三部分组成。在Java中,可以使用Algorithm.HMAC256进行签名,并通过JWTVerifier进行验证。
摘要由CSDN通过智能技术生成

什么是 JWT

这里是jwt 官方地址,想了解更多的可以在这里查看。

jwt 全称是JSON Web Token,从全称就可以看出 jwt 多用于认证方面的。这个东西定义了一种简洁的,自包含的,安全的方法用于通信双方以 json 对象的形式传递信息。其中简洁,安全,传递信息和 web 系统非常契合。

jwt 实际上就是一个字符串,由以下三个部分构成(通过.分隔):Header 头部

Payload 负载

Signature 签名

因此一个 jwt 字符串都是如下的形式:

Header.Payload.Signature

Header

header 大多数情况下是只包含两个属性的 json 字符串,token 的类型(“JWT”)和用到的算法(比如 HS256,RS256,ES256 等)如下:

{ "alg": "HS256", "typ": "JWT" }

然后用 Base64 将其编码就等到了 jwt 的第一部分

Payload

payload 顾名思义用于携带数据的,这里的数据有三种类型:Registered claims:一组预定义的声明,写在 jwt 标准中,所有对其的实现都要准守。但不是强制要求携带。有以下几个字段:iss(签发者),iat(创建时间),exp(过期时间),aud(签发者),sub(面向的用户)

public claims:随意定义,通常存放用户 id,用户类别等非铭感信息

这些数据也是 json 的形式,用 Base64 编码后就得到了 JWT 的第二个部分。

Signatu

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值