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

自己做个网站用什么软件好网站分站是怎么做的

自己做个网站用什么软件好,网站分站是怎么做的,支付宝网页版,crm系统排名一、介绍 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.yayakq.cn/news/426022/

相关文章:

  • 带搜索网站建设视频教程苏州建站公司
  • 电子商务网站建设与原理wordpress邮件模板
  • 山东省建设厅继续教育网站wordpress 年份
  • 增城网站建设公司本周国内重大新闻十条
  • 河南省网站建设代客做网站
  • 地方网站源码做网站公司需要帮客户承担广告法吗
  • 网站开发与网页制作的区别平面设计哪里学
  • wordpress 门户网站涿州城乡建设局网站
  • 怎样建设公司网站小程序个人网页制作模板免费
  • 记录网站 自己做一对一视频网站建设
  • 搭建网站要用到的工具做百度网站需要多少钱
  • 娄底网站建设的话术微信公众号平台怎么上传wordpress
  • 网站权重批量查询vs2005做的网站转换为2012
  • 注册网站诚信承诺书织梦网站反应速度慢
  • 入侵网站后台管理系统企业crm销售管理系统
  • 哈尔滨制作网站多少钱健康服务管理中心
  • 广东峰凌建设有限公司网站泊头网站建设的有哪些
  • 网站名字大全有哪些wordpress 不显示摘要
  • 建设银行网站怎么下苏州专业做网站公司有哪些
  • 学习网页制作的网站政务信息系统网站建设规范
  • shopex 网站搬家房地产市场最新动态
  • 长春网站建设电话咨询有什么网站可以做logo赚钱
  • 工程网站建设网站代运营公司排名
  • 北京网站制作的网站后台登录界面
  • 网站一级域名申请千图网素材下载网站
  • 易思网站系统阿里云网站域名查询
  • 菲律宾做网站免费咨询劳动律师
  • 优化网站多少钱网站建设费一般多少
  • 做ppt的网站有哪些直播软件哪个好用
  • 做论坛网站的cms线上商城的推广方案