Android 解析登录后返回的JWT加密串

标题 Android 解析登录后返回的JWT加密串

方法1 用base64解密

String jwt;//需要解析的字符串
 String[] split = jwt.split("\\.");
 //header
        byte[] decodedBytes = Base64.decode(split[1], Base64.URL_SAFE);
        String header=   new String(decodedBytes, "UTF-8");
 //body
        byte[] decodedBytes = Base64.decode(split[1], Base64.URL_SAFE);
        String body=   new String(decodedBytes, "UTF-8");

方法2 引入 jsonwebtoken

引入

implementation 'io.jsonwebtoken:jjwt:0.9.1'

使用

//在解析的时候一定要传key进去,否则无法通过key的认证 key根据后台定义的类型进行选择 
//String key = Base64.encodeToString("my-springsecurity-plus".getBytes(), 0);
//Key key = MacProvider.generateKey(SignatureAlgorithm.HS512);
//  Jwt parse = Jwts.parser().setSigningKey(key).parse(jwt);
        //在解析的时候一定要传key进去,否则无法通过key的认证 
        Jwt parse = Jwts.parser().setSigningKey("my-key").parse(jwt);
        Header header = parse.getHeader();
        Map<String, Object> map = (Map<String, Object>) parse.getBody();
       String param = (String) map.get("param");

你可能感兴趣的:(android,java)