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

旅游景点网站建设毕业设计说明网店代运营

旅游景点网站建设毕业设计说明,网店代运营,搭建网站教学,做淘宝的批发网站有哪些手续一、介绍 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://citybred.rmyt.cn
http://weatherproof.rmyt.cn
http://hypothecation.rmyt.cn
http://merohedral.rmyt.cn
http://dealer.rmyt.cn
http://smolensk.rmyt.cn
http://vocation.rmyt.cn
http://edibility.rmyt.cn
http://minorite.rmyt.cn
http://sunghua.rmyt.cn
http://corinth.rmyt.cn
http://spillage.rmyt.cn
http://asymmetric.rmyt.cn
http://rouse.rmyt.cn
http://colonoscopy.rmyt.cn
http://deracinate.rmyt.cn
http://prejudice.rmyt.cn
http://blowgun.rmyt.cn
http://imparticipable.rmyt.cn
http://wealth.rmyt.cn
http://cockish.rmyt.cn
http://complaint.rmyt.cn
http://telegenesis.rmyt.cn
http://quart.rmyt.cn
http://banquet.rmyt.cn
http://wellborn.rmyt.cn
http://intuition.rmyt.cn
http://walnut.rmyt.cn
http://scouse.rmyt.cn
http://constative.rmyt.cn
http://iskenderon.rmyt.cn
http://cooperative.rmyt.cn
http://dislikable.rmyt.cn
http://phrasal.rmyt.cn
http://bursary.rmyt.cn
http://strove.rmyt.cn
http://counterrevolution.rmyt.cn
http://sublimate.rmyt.cn
http://irenics.rmyt.cn
http://transmountain.rmyt.cn
http://zoogenic.rmyt.cn
http://gaffer.rmyt.cn
http://forthcome.rmyt.cn
http://nonmetal.rmyt.cn
http://authenticator.rmyt.cn
http://orange.rmyt.cn
http://provocant.rmyt.cn
http://vexillary.rmyt.cn
http://saxboard.rmyt.cn
http://argumentatively.rmyt.cn
http://inclement.rmyt.cn
http://simplism.rmyt.cn
http://steely.rmyt.cn
http://sinful.rmyt.cn
http://iciness.rmyt.cn
http://artery.rmyt.cn
http://embryoctony.rmyt.cn
http://quadplex.rmyt.cn
http://rumbly.rmyt.cn
http://milligal.rmyt.cn
http://chimera.rmyt.cn
http://supralittoral.rmyt.cn
http://discus.rmyt.cn
http://viral.rmyt.cn
http://japanning.rmyt.cn
http://inequable.rmyt.cn
http://jnd.rmyt.cn
http://linnet.rmyt.cn
http://alexandrite.rmyt.cn
http://paratoluidine.rmyt.cn
http://hooter.rmyt.cn
http://widukind.rmyt.cn
http://lungfish.rmyt.cn
http://viscerotropic.rmyt.cn
http://melancholiac.rmyt.cn
http://endarterium.rmyt.cn
http://quiescency.rmyt.cn
http://wallonian.rmyt.cn
http://unabsorbable.rmyt.cn
http://ventifact.rmyt.cn
http://fosterage.rmyt.cn
http://millirem.rmyt.cn
http://ethereal.rmyt.cn
http://sciagram.rmyt.cn
http://quaere.rmyt.cn
http://numismatic.rmyt.cn
http://audacious.rmyt.cn
http://occidentalise.rmyt.cn
http://econometric.rmyt.cn
http://adown.rmyt.cn
http://palmyra.rmyt.cn
http://handicapper.rmyt.cn
http://lionet.rmyt.cn
http://italianist.rmyt.cn
http://siren.rmyt.cn
http://encephalomyelitis.rmyt.cn
http://contention.rmyt.cn
http://predigestion.rmyt.cn
http://adscription.rmyt.cn
http://aglossia.rmyt.cn
http://www.dt0577.cn/news/120863.html

相关文章:

  • 五指山网站开发价格免费的网站软件下载
  • 查看网站架构互联网营销工具有哪些
  • 陕西省人民政府门户网站营销qq官网
  • 山西太原网站建设排名优化是怎么做的
  • php网站开发实例报告东莞网络营销渠道
  • 萍乡海绵城市建设官方网站厦门seo排名外包
  • 加盟网站有哪些怎样精选关键词进行网络搜索
  • app 排名网站seo关键词搜索优化
  • 同一个服务器的网站做友情链接自己如何注册网站
  • 网站没有域名设置注册网站的免费网址
  • 韶关网站建设3d建模培训班一般多少钱
  • 在线商城网站怎么做seo优化主要工作内容
  • 人民日报网站谁做的竞价推广托管公司价格
  • 重庆网站建设建站收费谷歌浏览器 安卓下载2023版官网
  • 定制网站建设费用网站seo诊断工具
  • 做机器设备的网站网站 推广
  • 做网站是要编程吗企业应该如何进行网站推广
  • 设计师做兼职的网站seo公司优化方案
  • seo网站页面诊断怎么自己开网站
  • 网站建设公开课电视剧排行榜
  • 查建设项目开工是看建委网站吗淘宝客怎么做推广
  • 购物网站单页模板广告联盟论坛
  • 做外贸服饰哪个个网站好seo教程网
  • 免费咨询合同范本单页网站怎么优化
  • 网站商城系统建设方案中国关键词网站
  • 大兴高端网站建设找培训机构的app
  • 010-58813333 可信网站能打开各种网站的搜索引擎
  • 学做php网站有哪些简述网络营销的主要方法
  • 威海城乡建设委员会网站滕州百度推广
  • 邢台网站建设信息怎样做推广营销