java解析php生成的jwt

2020年05月14日 946点热度 1人点赞 0条评论

今天在用java解析之前php生成的jwt时,报了签名不一致的错误

php是使用hash_hmac进行sha256加密再base64UrlEncode实现的;java使用jjwt解析

依旧是字符长度的问题,所以密钥转成的byte数组是不一样的,转换下就行了

    public static void convertKey() {
        String rawKey = "xxx";
        byte[] key = new byte[rawKey.length()];
        for (int i = 0; i < rawKey.length(); i++) {
            key[i] = (byte) (rawKey.charAt(i) & 0XFF);
        }
        System.out.println(Arrays.toString(key));
    }

然后代码中直接写byte数组就行了,不然每次都得转换

likole

人能常清静,天地悉皆归

文章评论