头部
一个json字符串,包含当前令牌名称,以及加密算法,
{"typ":"JWT","alg":"HS256"}
使用base64加密
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9
载荷
一个json字符创,包含一些自定义的信息,
{"sub":"1234567890","name":"John Doe","admin":true}
使用base64加密
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9
签名
由头部信息使用base64加密之后,拼接上载荷使用base64加密之后的部分,在加上当前的密钥,进行头部中的加密算法进行加密
header (base64后的)
payload (base64后的)
secret
这个部分需要base64加密后的header和base64加密后的payload使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret组合加密,然后就构成了jwt的第三部分。
TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
将这三部分用.连接成一个完整的字符串,构成了最终的jwt:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.T
本文详细介绍了JSON Web Token (JWT) 的结构和创建过程。它包括头部、载荷和签名三个部分,每部分都经过Base64编码,并使用指定的加密算法(如HS256)结合密钥进行签名,确保了数据的安全性和完整性。JWT被广泛用于身份验证和授权场景。
27万+

被折叠的 条评论
为什么被折叠?



