Jar包引入

<dependency>
    <groupId>com.auth0</groupId>
    <artifactId>java-jwt</artifactId>
    <version>4.0.0</version>
</dependency>

Java代码示例:

public class JwtTokenTest {
    public static void main(String[] args) {
        final String secret = "abc";

        String ab = Base64.getEncoder().encodeToString(token.getBytes(StandardCharsets.UTF_8));
        String ac = new String(Base64.getDecoder().decode(ab), StandardCharsets.UTF_8);
        System.out.println("Base64加密结果:" + ab);
        System.out.println("Base64解密结果:" + ac);

        // 解密
        final DecodedJWT verify = JWT.require(Algorithm.HMAC256(secret)).build().verify(token);
        String curAccessKey = verify.getClaim("accessKey").asString();
        String curAecretKey = verify.getClaim("secretKey").asString();
        Date curExpireDate = verify.getExpiresAt();

        System.out.println("解密后的accessKey=" + curAccessKey + ",secretKey=" + curAecretKey + ",过期时间:" + curExpireDate);
    }
}

结果输出:

加密生成的token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzZWNyZXRLZXkiOiJrZXkiLCJhY2Nlc3NLZXkiOiJhZG1pbiIsImV4cCI6MTY2NDUyNDYwMn0.rP58OCJejxlDjvFR9_ZNDBitQhqaKtIeNi48JJYm968
解密后的accessKey=admin,secretKey=key,过期时间:Fri Sep 30 15:56:42 CST 2022

 

posted on 2022-09-30 13:58  玄同太子  阅读(665)  评论(0编辑  收藏  举报