首页 > 其他分享 >JWT 和 JJWT 还傻傻的分不清吗

JWT 和 JJWT 还傻傻的分不清吗

时间:2022-10-08 14:05:13浏览次数:73  
标签:令牌 私钥 JWT JJWT JSON 签名 傻傻的


JWTs是JSON对象的编码表示。JSON对象由零或多个名称/值对组成,其中名称为字符串,值为任意JSON值。

JWT有助于在clear(例如在URL中)发送这样的信息,可以被信任为不可读(即加密的)、不可修改的(即签名)和URL - safe(即Base64编码的)。

JSON Web Token (JWT) 作为一个开放的标准 (​​RFC 7519​​) 定义了一种简洁自包含的方法用于通信双方之间以 JSON 对象的形式安全的传递信息。因为有数字签名,所以这些通信的信息能够被校验和信任。

JWT 可以使用秘钥(secret)进行签名 (使用 HMAC 算法) 或使用 RSA 或 ECDSA 算法的公钥/私钥对(public/private key)。

尽管 JWT 可以在通讯的双方之间通过提供秘钥(secret)来进行签名,我们将会更多关注 **已签名(signed)**的 token。

通过签名的令牌可以验证其中数据的 完整性(integrity) ,而加密的令牌可以针对其他方 隐藏(hide) 申明。

当令牌(token)使用 公钥/私钥对(public/private key)进行签名的时候,只有持有私钥进行签名的一方是进行签名的。

JWT 定义了一个标准,JJWT 是 JWT 基于 Java 的一个实现。

如下图,我们返回的一个 JWT。

JWT 和 JJWT 还傻傻的分不清吗_编码表示

JWT 是可以解码的。

 

JWT 和 JJWT 还傻傻的分不清吗_json对象_02

JJWT

JJWT 是基于 JWT 的一个实现。

JJWT很容易使用和理解。它被设计成一个以建筑为中心的流畅界面,隐藏了它的大部分复杂性。

  • JJWT的目标是最容易使用和理解用于在JVM上创建和验证JSON Web令牌(JWTs)的库。
  • JJWT是基于JWT、JWS、JWE、JWK和JWA RFC规范的Java实现。
  • JJWT还添加了一些不属于规范的便利扩展,比如JWT压缩和索赔强制。

因为 JWT 的官方库不那么好用,那么JJWT 就是一个目前用得比较多的实现 JWT 的库了。


标签:令牌,私钥,JWT,JJWT,JSON,签名,傻傻的
From: https://blog.51cto.com/cwikius/5737452

相关文章

  • 生成JWT
    JWT全称:JsonWebToken即用Json格式来保存令牌信息用户登录成功后,得到一个令牌,以后每次请求时都带上令牌,令牌保存在客户端,为了防止客户端数据造假,令牌经过签名处理,而签......
  • 使用 ASP.NET Core 封装的 JWT
    一、用NuGet安装:Microsoft.AspNetCore.Authentication.JwtBearer二、在appsetting中添加配置节点"JWT":{"SigningKey":"","ExpireSeconds":""}pu......
  • jwt伪造
    什么是jwtJsonwebtoken(JWT),是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登......
  • JWT详解与基本使用(保姆教程)
    前言:最近准备写一篇关于security前后端分离场景下的认证与授权文章,里面使用到了jwt,所以就写了一篇jwt的文章,作为开头小菜......
  • JWT:谁创造了我,我听命于谁
    hi,这里是桑小榆。上篇我们一起探讨了jwt的特性,以及各个部分的组成原理。本篇我们以代码实操去打造一个授权体系,为进一步探讨并理解jwt。细心的伙伴会发现,我们无需界定语言......
  • JWT 和 JJWT 还傻傻的分不清吗
    JWTs是JSON对象的编码表示。JSON对象由零或多个名称/值对组成,其中名称为字符串,值为任意JSON值。JWT有助于在clear(例如在URL中)发送这样的信息,可以被信任为不可读(即加密的)......
  • JWT 和 JJWT 还傻傻的分不清吗
    JWTs是JSON对象的编码表示。JSON对象由零或多个名称/值对组成,其中名称为字符串,值为任意JSON值。JWT有助于在clear(例如在URL中)发送这样的信息,可以被信任为不可读(即加密......
  • NET5+JWT+VUE+Swagger登录权限验证2——跨域Cors
    在ConfigureServices添加如下代码://注册cros--->跨域services.AddCors(option=>{option.AddPolicy("any",build=>......
  • NET5+JWT+VUE+Swagger登录权限验证3——JWT权限认证1
    注册://配置认证服务services.AddAuthentication(x=>{x.DefaultAuthenticateScheme=JwtBearerDefaults.AuthenticationScheme......
  • NET5+JWT+VUE+Swagger登录权限验证1——Swagger增加JWT验证
    项目添加Swagger后,此时浏览器可直接校验;当添加JWT后,浏览器无输入token位置,若想在浏览器界面增加token校验,需在ConfigureServices增加如下信息:services.AddSwaggerGen(c=>......