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

武昌做网站的公司咨询公司工资一般多少

武昌做网站的公司,咨询公司工资一般多少,自助建站免费平台,招商网站推广一般在哪个网做1. 什么是 JWT#xff1f; JWT是 JSON Web Token 的缩写#xff0c;通过数字签名的方式#xff0c;以 JSON 对象为载体#xff0c;在不同的服务器终端之间安全传输的信息。 2. JWT 有什么用#xff1f; JWT 最常见的场景就是授权认证#xff0c;一旦用户登录#xff…1. 什么是 JWT JWT是 JSON Web Token 的缩写通过数字签名的方式以 JSON 对象为载体在不同的服务器终端之间安全传输的信息。 2. JWT 有什么用 JWT 最常见的场景就是授权认证一旦用户登录后续每个请求都将包含 JWT系统在每次处理用户请求之前都先进行 JWT 安全效验通过之后再进行处理。 JWT 就像是一个令牌当我们去到一个公司这个公司先回效验你的身份效验成功后就会给你发一个身份卡以后再见面看见你的身份卡就知道你是这个公司的人了就不需要再对你的身份进行认证了上方的例子就是对 JWT 的简单解释。 3. JWT 的组成形式 JWT 主要是由三大部分组成 3.1 Header 第一部分是头部分一个是类型一个是算法的名称再通过 base64 编码进行编排 {typ: JWT,alg: HS256 }3.2 Payload 第二部分是载荷这里存储的就是有效信息的地方这个部分又分为三个区域 1.标准中注册的声明 iss: jwt签发者 sub: jwt所面向的用户 aud: 接收jwt的一方 exp: jwt的过期时间这个过期时间必须要大于签发时间 nbf: 定义在什么时间之前该jwt都是不可用的. iat: jwt的签发时间 jti: jwt的唯一身份标识主要用来作为一次性token,从而回避重放攻击2.公共的声明 公共的声明可以添加任何的信息一般添加用户的相关信息或其他业务需要的必要信息但不建议添加敏感信息因为该部分在客户端可解密 3.私有的声明 私有声明是提供者和消费者所共同定义的声明一般不建议存放敏感信息因为base64 是对称解密的意味着该部分信息可以归类为明文信息。 3.3 Signature 这个签名是 var encodedString base64UrlEncode(header) . base64UrlEncode(payload); var signature HMACSH256(encodedString,secret;)下面就是 JWT 的三部分 xxxxx.yyyyy.zzzz x部分由 Header 进行 base64编码生成 y部分由 Payload base64编码生成 z部分由 base64编码 Header . base64编码 Payload,再将前面的字符串使用 header 头中的算法加密生成。 4. 代码实现 4.1 生成 JWT 代码 在创建 JwtBuilder 时我们可以选择不创建头当它判断 header 为空时它会设置一个默认头调用compact()方法的作用就是他会将 JWT 的三部分拼接起来拼接成xxxx.yyyy.zzzz 的形式 //有效期为public static final Long JWT_TTL 24*60 * 60 *1000L;// 60 * 60 *1000 一个小时//设置秘钥明文public static final String JWT_KEY sangeng;/*** 生成jtw* param subject token中要存放的数据json格式* param ttlMillis token超时时间* return*/public static String createJWT(String subject, Long ttlMillis) {JwtBuilder builder getJwtBuilder(subject, ttlMillis, getUUID());// 设置过期时间return builder.compact();}private static JwtBuilder getJwtBuilder(String subject, Long ttlMillis, String uuid) {SignatureAlgorithm signatureAlgorithm SignatureAlgorithm.HS256;SecretKey secretKey generalKey();long nowMillis System.currentTimeMillis();Date now new Date(nowMillis);if(ttlMillisnull){ttlMillisJwtUtil.JWT_TTL;}long expMillis nowMillis ttlMillis;Date expDate new Date(expMillis);return Jwts.builder().setId(uuid) //唯一的ID.setSubject(subject) // 主题 可以是JSON数据.setIssuer(zzq) // 签发者.setIssuedAt(now) // 签发时间.signWith(signatureAlgorithm, secretKey) //使用HS256对称加密算法签名, 第二个参数为秘钥.setExpiration(expDate);}/*** 生成加密后的秘钥 secretKey* return*/public static SecretKey generalKey() {byte[] encodedKey Base64.getDecoder().decode(JwtUtil.JWT_KEY);SecretKey key new SecretKeySpec(encodedKey, 0, encodedKey.length, AES);return key;}4.2解析 我们解析出来的 Claims 对象就是之前 存入的值我再调用对象的getSubject()方法就可以得到我们原来所存储的值了。 /*** 生成加密后的秘钥 secretKey* return*/public static SecretKey generalKey() {byte[] encodedKey Base64.getDecoder().decode(JwtUtil.JWT_KEY);SecretKey key new SecretKeySpec(encodedKey, 0, encodedKey.length, AES);return key;}/*** 解析** param jwt* return* throws Exception*/public static Claims parseJWT(String jwt) throws Exception {SecretKey secretKey generalKey();return Jwts.parser().setSigningKey(secretKey).parseClaimsJws(jwt).getBody();}
http://www.pierceye.com/news/757978/

相关文章:

  • iphone下载网页视频北京百度seo排名公司
  • 怎么自己做网站免费的衡阳seo网站推广
  • 一键生成论文的网站做亚马逊有哪些网站可以清货
  • 一屏网站模板下载 迅雷下载 迅雷下载地址网站建设合并但与那个
  • 营销型网站四大功能吉林市网站制作
  • 如何制作钓鱼网站网页制作基础教程9787121095306教案
  • 专业定制网站企业吉林省住房城乡建设厅网站首页
  • 免费高清素材网站方维网络科技有限公司
  • 长春行业网站重庆智能建站模板
  • 北湖区网站建设公司wordpress的cute主题
  • 沈阳网站建设 景乔科技网站制作杭州
  • 网站维护工程师月薪多少精品网站建设公
  • 永久免费企业网站申请网站开发主框架一般用什么布局
  • 网站做非经营性广告需备案python免费看电影的应用
  • 网站分哪些种类自己做网站模版
  • 汪峰做的音乐网站长沙制作公园仿竹护栏实体厂家
  • 深圳专业网站建设公司排名好的h5网站模板
  • h5做网站教程网店营销的推广方法有哪些
  • 网站关键词快速排名工具wordpress子主题
  • 做百度网站那家好google 网站质量问题
  • 网站建设维护书网站资料清单
  • 网站建设公司 深圳信科网站维护计划
  • 做网站用什么语言比较简单网站seo优化总结
  • 四川省工程建设信息网站南京好的网站设计公司
  • 城市建设单招网站合肥哪个公司做网站好
  • 深圳建站模板建站建筑公司对企业未来希望
  • 商丘网站制作电话文库网站建设
  • 新闻发布网站模板医院网站建设原理
  • 网站开发立项报告网页制作视频教程优质课
  • 网站运营分析竞争对手整站采集wordpress