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

怎么建设网站zy258搭建一个app平台要多少钱

怎么建设网站zy258,搭建一个app平台要多少钱,河南网站建设公司价格,wordpress+仿简书模板一、介绍 JWT全称:JSON Web Token 官网:https://jwt.io/ 定义了一种简洁的、自包含的格式,用于在通信双方以 json 数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的 在生成 JWT 令牌时,会对 JSON 格式的数…

一、介绍

JWT全称:JSON Web Token

官网:https://jwt.io/

定义了一种简洁的、自包含的格式,用于在通信双方以 json 数据格式安全的传输信息。由于数字签名的存在,这些信息是可靠的

在生成 JWT 令牌时,会对 JSON 格式的数据进行一次编码:进行 base64 编码

1、JWT 的组成

  • 第一部分:Header(头), 记录令牌类型、签名算法等。 例如:{“alg”:“HS256”,“type”:“JWT”}
  • 第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。 例如:{“id”:“1”,“username”:“Tom”}
  • 第三部分:Signature(签名),防止 Token 被篡改、确保安全性。将 header、payload,并加入指定秘钥,通过指定签名算法计算而来

2、典型应用场景登录认证

  1. 在浏览器发起请求来执行登录操作,此时会访问登录的接口,如果登录成功之后,我们需要生成一个 jwt 令牌,一般包含用户的登录信息,如 id 值,将生成的 jwt 令牌返回给前端
  2. 前端拿到 jwt 令牌之后,会将 jwt 令牌存储起来。在后续的每一次请求中都会将 jwt 令牌携带到服务端
  3. 服务端统一拦截请求之后,先来判断一下这次请求有没有把令牌带过来,如果没有带过来,直接拒绝访问,如果带过来了,还要校验一下令牌是否是有效。如果有效,就直接放行进行请求的处理

二、生成和解析

1、依赖引入

<!-- JWT依赖-->
<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version>
</dependency>

2、生成 JWT

代码实现:

@Test
public void genJwt(){Map<String,Object> claims = new HashMap<>();claims.put("id",1);claims.put("username","Tom");String jwt = Jwts.builder().setClaims(claims) //自定义内容(载荷)          .signWith(SignatureAlgorithm.HS256, "xtlhyl") //签名算法 .setExpiration(new Date(System.currentTimeMillis() + 24*3600*1000)) //有效期   .compact();System.out.println(jwt);//输出:如:eyJhbGciOiJIUzI1NiJd.eyJpZCI6MSwiZXhwIjoxNjcyNzI5NzMwfQ.fHi0Ub8npbyt71UqLXDdLyipptLgxBUg_mSuGJtXtBk
}

3、解析生成的令牌

@Test
public void parseJwt(){Claims claims = Jwts.parser().setSigningKey("xtlhyl")//指定签名密钥(必须保证和生成令牌时使用相同的签名密钥)  .parseClaimsJws("eyJhbGciOiJIUzI1NiJd.eyJpZCI6MSwiZXhwIjoxNjcyNzI5NzMwfQ.fHi0Ub8npbyt71UqLXDdLyipptLgxBUg_mSuGJtXtBk").getBody();System.out.println(claims);//输出:{id=1, exp=1672729730}
}

篡改令牌中的任何一个字符或者时间失效后,再对令牌进行解析时都会报错

三、JWT 工具类

public class JwtUtils {private static String signKey = "itheima";//签名密钥private static Long expire = 43200000L; //有效时间/*** 生成JWT令牌* @param claims JWT第二部分负载 payload 中存储的内容* @return*/public static String generateJwt(Map<String, Object> claims){String jwt = Jwts.builder().addClaims(claims)//自定义信息(有效载荷).signWith(SignatureAlgorithm.HS256, signKey)//签名算法(头部).setExpiration(new Date(System.currentTimeMillis() + expire))//过期时间.compact();return jwt;}/*** 解析JWT令牌* @param jwt JWT令牌* @return JWT第二部分负载 payload 中存储的内容*/public static Claims parseJWT(String jwt){Claims claims = Jwts.parser().setSigningKey(signKey)//指定签名密钥.parseClaimsJws(jwt)//指定令牌Token.getBody();return claims;}
}
http://www.shuangfujiaoyu.com/news/16752.html

相关文章:

  • 做网站需要填什么数据分析方法
  • 关于网站开发的论文文献百度怎么投广告
  • 举例行业门户网站适合seo的建站系统
  • 网站制作简介nba最新交易动态
  • 厦门网站建设是什么意思网站优化排名金苹果下拉
  • 加入网站帮忙做网站网络营销的四种方式
  • 沧州网站制作的流程淮北seo排名
  • 开一个网站需要什么手续百度推广开户免费
  • 怎样做自己的网站和发布网站seo关键词排名优化哪家好
  • 旅游网站模板免费google优化师
  • 卫生局网站建设实施方案优化seo网站
  • 如何加入小说网站做打字员宁波seo优化流程
  • 如何在网站上添加备案号网站设计公司排名
  • 服务型政府 网站建设无锡谷歌推广
  • 做网站能设置关键词在百度中搜索到最近的国际新闻热点
  • 用手机怎么做网站如何做营销推广
  • 我的世界做壁纸网站打不开阿里指数网站
  • 网站企业推广方案杭州优化seo公司
  • 企业网站seo平台新手做网络销售难吗
  • 99到家网站怎么做陕西百度代理公司
  • 建设博客网站步骤新闻稿范文
  • iis 网站制作软文范例500字
  • 河北网站建设价格南京seo外包平台
  • 太原网站建设联系方式域名注册管理机构
  • 有哪些专做旅游定制的网站永州网络推广
  • 福州网站制作建设网络营销的种类
  • wordpress m1主题seo公司厦门
  • 五金外贸网站漳州seo建站
  • 中国建设银行复核网站金华seo扣费
  • 精简版wordpress关键词优化设计