java token加密解密算法_JavaToken认证JWT加密

本文介绍了如何在Java中使用JWT(JSON Web Token)进行Token的加密和解密,以实现用户认证。JWT由头部、载荷和签名三部分组成,常用于跨域认证。在Java中使用java-jwt库创建和验证Token,并设置15分钟的过期时间。内容包括JWT工具类的编写,Token的生成、验证和解析方法,以及在登录后将Token返回给前端的示例。
摘要由CSDN通过智能技术生成

支持跨域访问,将token置于请求头中,而cookie是不支持跨域访问的;

JWT:JSON Web Token,其实token就是一段字符串,由三部分组成:

第一部分我们称它为头部(header),第二部分我们称其为载荷(payload),第三部分是签证(signature)。

Token 是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回 Token 给前端。前端可以在每次请求的时候带上 Token 证明自己的合法地位。如果这个 Token 在服务端持久化(比如存入数据库),那它就是一个永久的身份令牌。

Token 认证最常用的应用场景就是查询接口的调用(RESTful API),查询接口的信息在没有安全需求时,大家都可以通过get方法或post方法取得所需信息。但在有安全需要时一般需要认证后才能获取所需的信息,这时候可以通过先能过HTTP Basic Auth,HTTP Basic Auth认证完成后,服务端返回给客户端一个类似于UUID的唯一标识,我们称之为token。该token一般可以在URL或head头里加入,

1、引入依赖

com.auth0

java-jwt

3.3.0

2、jwt工具类,sign是实现签名的方法

设置15分钟过期也是出于安全考虑,防止token被窃取,不过一般选择基于token认证,传输方式我们都应该选择https,这样别人无法抓取到我们的请求信息。这个私钥是非常重要的,加密解密都需要用到它,要设置的足够复杂并且不能被盗取,我这里选用的是一串uuid,加密方式是HMAC2

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值