随笔 - 221  文章 - 0  评论 - 57  阅读 - 162万 

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   玄同太子  阅读(739)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2019-09-30 Solr7.x学习(8)-使用spring-data-solr
点击右上角即可分享
微信分享提示