当前位置: 首页 > news >正文

英国帮人做设计作业网站上海官方网站建设

英国帮人做设计作业网站,上海官方网站建设,怎样做网站后台,wordpress 登陆后访问JWT 是什么#xff1f; JWT#xff08;JSON Web Token#xff09;是一种开放的标准#xff0c;标准的编号是RFC7591。用于在不同实体之间安全地传输信息。它是基于 JSON 编码的令牌。 JWT 的组成 JWT由三个部分组成#xff1a;头部#xff08;Header#xff09;、载荷…JWT 是什么 JWTJSON Web Token是一种开放的标准标准的编号是RFC7591。用于在不同实体之间安全地传输信息。它是基于 JSON 编码的令牌。 JWT 的组成 JWT由三个部分组成头部Header、载荷Payload和签名Signature。 头部Header包含了令牌的类型typ和所使用的签名算法alg通常使用 Base64 编码表示。示例如下 {alg: HS256,typ: JWT }载荷Payload是令牌的主要信息存储部分包含了各种声明claims用于表示关于实体用户、设备或其他主体和其他补充数据的信息。载荷可以包含标准声明例如isssubexpnbfiataud 等也可以包含自定义声明。载荷同样会被进行 Base64 编码表示并传输在令牌中。示例如下 {sub: myapp,name: oscar,role: admin }签名Signature是使用密钥对头部和载荷进行签名的哈希值以确保令牌不会被篡改。签名通常使用头部中指定的算法例如HMAC、RSA 等和密钥来生成并以字符串形式附加在令牌的末尾。签名验证可以用于验证令牌的完整性和真实性。 以Java语言产生JWT的过程来看步骤如下 产生头部的Base64编码串 String header {\alg\:\HS256\,\typ\:\JWT\}; String encodedHeader Base64.getEncoder().encodeToString(header.getBytes());产生载体的Base64编码串 String payload {\sub\:\myapp\,\name\:\oscar\};String encodedPayload Base64.getEncoder().encodeToString(payload.getBytes());使用点号. 连接头部和载体之后 再使用签名算法进行签名 将签名后的内容附加在整个字符串的后面 Key secretKey Keys.secretKeyFor(SignatureAlgorithm.HS256);String concatenated encodedHeader . encodedPayload;Mac sha256_HMAC Mac.getInstance(HmacSHA256);sha256_HMAC.init(secretKey);byte[] signature sha256_HMAC.doFinal(concatenated.getBytes(utf-8));String compact concatenated . Base64.getEncoder().encodeToString(signature);产生后得到的完整字符串如下 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJteWFwcCIsIm5hbWUiOiJvc2NhciJ9.5z6NoiF7MR999wOPn2NU6HnyPODx66qm5yRTn8pNHs通过 https://base64.us/ 解码之后获取的内容如下图 从上面可以看出 JWT的令牌就是一串字符串。 JWT 的作用 JWT 适用于在网络请求中传输身份验证和授权信息常用于构建无状态stateless的身份验证和访问控制机制。客户端在接收到令牌后可以通过对令牌进行解码和验证来验证其有效性并使用其中的信息进行授权和身份验证。 总结起来JWT 是一种使用 JSON 编码的安全令牌由头部、载荷和签名部分组成可用于在实体之间传递信息和验证身份。它提供了一种简单、可扩展和自包含的机制用于处理身份验证和授权相关的任务。 JWT也经常用于单点登录 就是用户登录A系统之后产生一个令牌 之后访问其他系统都带上这个 Token进而可以访问BCD等系统。 JWT优缺点 基于JSON方便解析可以在令牌中定义丰富的内容易于扩展通过非对称加密和数字签名防篡改安全性高资源服务使用JWT就可以完成授权不需要依赖授权服务器 缺点 JWT令牌较长 占用较多的存储空间。 JWT的加密解密 JWT 的加密和解密通常涉及到以下三个步骤 创建 JWT 创建 JWT 需要准备三个部分头部Header、载荷Payload和签名Signature。在创建 JWT 时首先将头部和载荷进行 Base64 编码并将这两个编码后的字符串用点号连接起来形成 JWT 的第一部分。接着使用密钥和指定的签名算法对前面的字符串进行签名生成签名字符串并与前面的字符串用点号连接起来形成 JWT 的最终形式。 验证 JWT 验证 JWT 的过程通常包括以下几个步骤首先对 JWT 中的头部和载荷部分进行Base64解码提取其所包含的信息。接下来用与创建 JWT 相同的算法和密钥对头部和载荷部分计算签名。最后将计算得出的签名字符串与 JWT 中的签名部分进行比较。如果两者相等则表明 JWT 未被篡改过可以被信任。 解码 JWT 如果需要查看 JWT 中包含的数据可以对 JWT 的第一部分进行 Base64 解码以得到头部和载荷的信息。解码后的结果通常为 JSON 格式的字符串可以通过相应的 JSON 解析库将其转换为对象。 需要注意的是JWT 中的头部和载荷信息并没有加密只进行了 Base64 编码。因此这些信息可以被轻易地获取。为了保护数据的机密性通常会使用加密算法加密载荷部分即将其转换为 JWEJSON Web Encryption格式。JWE 提供了一种标准化的加密方式以保护 JWT 中的敏感信息。加密 JWE 包括头部、密钥和加密后的密文等部分需要使用相应的算法和密钥来进行解密。 总的来说JWT 的加密和解密通常包括创建 JWT、验证 JWT 和解码 JWT 等步骤。其中验证 JWT 可以用于验证 JWT 是否被篡改过以保证 JWT 的完整性和可信度。而将载荷部分加密则可以保护 JWT 中的敏感信息提高 JWT 的机密性。
http://www.hkea.cn/news/14390752/

相关文章:

  • 天猫网站建设企业所得税会计分录
  • 门户网站广告的类型西宁到青海湖
  • 做特卖网站手机版wordpress 模拟装机
  • 清河网站建设费用wordpress网站好用吗
  • 做58网站怎么赚钱个人seo优化
  • 吉林省白山市建设局官方网站营销策划推广
  • 网站提交搜索引擎wordpress接收邮件
  • 网站建设法律wordpress autumn
  • 超炫酷网站欣赏怎么在网站上做下载
  • 有没有女的做任务的网站wordpress固定链接是存在哪个表
  • 织梦怎么更新网站html昆明做网站多少钱
  • 龙岗汤坑社区网站建设云南省建设工程信息网
  • 网站建设电话销售技巧宣威市网站建设
  • 做购物网站 国外服务器网站制作台州
  • 北镇建设局网站查看别人wordpress主题
  • 想要提高网站排名应该怎么做商业网站最佳域名
  • 描述自己做的网站免费网站建站页面
  • 温州百度网站推广安徽有几家做网站
  • 电子商务有限责任公司网站怎样建立有限公司网站建设 中企动力佛山
  • 网站建立企业成都行业网站
  • 杭州外贸建站做网批有专门的网站吗
  • 怎么在58上做公司网站手机排行榜2022前十名最新
  • 电子商务网站建设组织流程图wordpress人型图标
  • 商务网站是什么网络推广浏览目标
  • 信息门户网站开发合同建湖专业做网站的公司
  • tag 网站托管公司魔力百科网站做料理视频
  • 个人网站制作新手教程网站双线选择
  • 全国最大工地招工网商丘优化公司
  • 西安网站开发有哪些公司怎样做一元购网站
  • 网站建设人员管理制度保定移动网站建设