您现在的位置是:主页 > news > 新编asp.net 2.0网站开发从入门到精通 代码/站长之家seo信息
新编asp.net 2.0网站开发从入门到精通 代码/站长之家seo信息
admin2025/5/4 12:37:19【news】
简介新编asp.net 2.0网站开发从入门到精通 代码,站长之家seo信息,用ppt做网站方法,可信网站认证费用JWT(JSON Web Token)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以将各方之间的信息作为JSON对象进行安全传输。该信息可以验证和信任,因为其是经过数字签名的。 JWT 官网 JWT1.…
新编asp.net 2.0网站开发从入门到精通 代码,站长之家seo信息,用ppt做网站方法,可信网站认证费用JWT(JSON Web Token)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以将各方之间的信息作为JSON对象进行安全传输。该信息可以验证和信任,因为其是经过数字签名的。 JWT 官网 JWT1.…
JWT(JSON Web Token)是一个开放标准(RFC 7519),它定义了一种紧凑且独立的方式,可以将各方之间的信息作为JSON对象进行安全传输。该信息可以验证和信任,因为其是经过数字签名的。
JWT 官网
JWT
- 1. JWT应用场景
- 2. JWT结构
- 2.1 JWT的头部
- 2.2 JWT的有效载荷
- 2.3 JWT的签名
- 3. JWT的特点
- 4. JWT的使用
1. JWT应用场景
应用场景:
- Authorization(授权):用户登录后,后续每一个请求均包含JWT,允许用户访问该令牌允许的路由、服务和资源。由于JWT的开销小,并且其可以很方便的跨域使用,因此其广泛应用于当前的单点登录。
- Information Exchange(信息交换):安全的在各方之间进行信息传输,并且JWT可以被签名和验证是否被篡改。
2. JWT结构
JWT构成:
- 头部(Header)
- 有效载荷(Payload)
- 签名(Signature)
三部分由圆点(.
)连接,即:
典型的JWT实例为:
xxx.yyy.zzz
注:
- 此过程中使用的
Base64
加密均为url safe
的Base64
加密,由于Base64
在编码完成后会加上1个或2个=
号,表示补充了多少字节。但是=
在URL
中会造成歧义,因此使用url safe
的Base64
加密; - 不要在JWT的Header或Payload中放置敏感信息,除非其进行了加密;
2.1 JWT的头部
Header由两部分组成:
- typ(Token类型):这里固定为JWT;
- alg(使用hash算法的类型):例如HMAC、SHA256或RSA等等;
Header部分JSON对象示例:
{'typ':'JWT','alg':'HMACSHA256'
}
然后用Base64
对这个JSON对象进行编码,得到Header。
2.2 JWT的有效载荷
Payload功能:
- 存储需要传递的信息,如用户ID、用户名等等;
- 包含元数据,如过期时间、发布人等等;
- 可以进行加密;
其存储的信息按照职能可以分成三个部分:
- 标准的注册声明(Registered claims);
- 公共的声明(Public claims);
- 私有的声明(Private claims);
{'user_id':'1033180491','user_name':'lime2019'
}
然后用Base64
对这个JSON对象进行编码,得到Payload。
2.3 JWT的签名
对Header和Payload部分进行签名,保证Token在传输的过程中没有被篡改或者损坏。
签名算法为Header中指定的那一个,通过一个私钥对Header和Payload使用签名算法进行加密。
Signature = HMACSHA(base64UrlEncode(header)+"."+base64UrlEncode(payload),secret)
3. JWT的特点
JWT特点:
- 简洁:可以通过URL、POST参数或者在HTTP header发送,因为数据量小,所以传输速度很快;
- 自包含:负载中包含所有用户需要的信息,避免多次查询数据库;