import com.atlassian.jwt.CanonicalHttpRequest;  import com.atlassian.jwt.core.HttpRequestCanonicalizer;
  public static String buildQshAtlassian (String httpMethod, String urlEnd, HashMap<String, String[]> params) throws UnsupportedEncodingException, NoSuchAlgorithmException {    CanonicalHttpRequest req = createRequest(httpMethod, urlEnd, params);    String s = HttpRequestCanonicalizer.canonicalize(req);         // step 6    byte[] b = s.getBytes("UTF-8");         // step 7    MessageDigest md = MessageDigest.getInstance("SHA-256");    md.update(b);     byte[] digest = md.digest();              // step 8    String hex = bytesToHex (digest);    return hex;  }     /**   * Simple byte array to hex string (lower case letters) converter   * Adapted from http://stackoverflow.com/questions/9655181/convert-from-byte-array-to-hex-string-in-java   */  final protected static char[] hexArray = "0123456789abcdef".toCharArray();  public static String bytesToHex(byte[] bytes) {    char[] hexChars = new char[bytes.length * 2];    for ( int j = 0; j < bytes.length; j++ ) {      int v = bytes[j] & 0xFF;      hexChars[j * 2] = hexArray[v >>> 4];      hexChars[j * 2 + 1] = hexArray[v & 0x0F];    }    return new String(hexChars);  }   CanonicalHttpUriRequest canonical = new CanonicalHttpUriRequest(requestType, "/jira/rest/api/latest/project", "/jira");
https://jwt-decoder.herokuapp.com/jwt/decode?requestUri=http%3A%2F%2Fbhushan-mac%3A2990%2Fjira%2Frest%2Fapi%2Flatest%2Fproject%3Fjwt%3DeyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJjb20uamlyYWRldi5wcm9ncmFtLXN0YXRpc3RpY3MiLAogImV4cCI6MTQxMjU4MjkyNiwgImlhdCI6MTQxMjU4Mjc0NiwgInFzaCI6IjllNWRkODk0ODZlYjkwMjM3ZDRlZDAzMWFmMjg1MDk5NzVhYjYyZTdjOTNiNmUyODA5YWZkMzM4ODU3ZmZiY2EifQ.Ye2JddQNokn7uJixl37D_tiUr5lQR8bgGjCr7eStE7o&contextPath=%2Fjira&httpMethod=GET