jwt token java_Java验证jwt token

https://jwt.io/

RS256加密JWT生成、验证

https://blog.csdn.net/u011411069/article/details/79966226

How to load public certificate from pem file..?

https://www.howtobuildsoftware.com/index.php/how-do/ciLJ/java-ssl-cryptography-bouncycastle-public-key-how-to-load-public-certificate-from-pem-file

1.HS256对称加密

package jwt;

import java.io.FileInputStream;

import java.io.IOException;

import java.security.KeyFactory;

import java.security.PrivateKey;

import java.security.PublicKey;

import java.security.interfaces.RSAPrivateKey;

import java.security.interfaces.RSAPublicKey;

import java.security.spec.PKCS8EncodedKeySpec;

import java.security.spec.X509EncodedKeySpec;

import java.util.Base64;

import java.util.Date;

import java.util.Vector;

import java.util.Map;

import sun.misc.BASE64Decoder;

import com.auth0.jwt.JWT;

import com.auth0.jwt.algorithms.Algorithm;

import com.auth0.jwt.exceptions.JWTVerificationException;

import com.auth0.jwt.interfaces.Claim;

import com.auth0.jwt.interfaces.DecodedJWT;

public class JWTValidator {

private static String JWT_Type = "JWT";

protected boolean validated;

protected Object[] claims;

public JWTValidator() {

setValidated(false);

setClaims(null);

}

public String Generate(String secret, String issuer, String audience, String subject){

try {

Algorithm algorithm = Algorithm.HMAC256(secret); // HS256

String token = JWT.create()

.withIssuer(issuer)

.withAudience(audience)

.withSubject(subject)

.sign(algorithm);

System.out.println(token);

return token;

} catch (Exception exception){

//UTF-8 encoding not supported

return "";

}

}

public void Validate(String token, String secret, String issuer, String audience, String subject) {

DecodedJWT jwt = null;

setValidated(false);

if

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值