public boolean verifyHash(String content, String hash) { int len = hash.length(); int padding = 4 - len % 4; if (padding > 0) { hash = S.concat(hash, S.times(Codec.URL_SAFE_BASE64_PADDING_CHAR, padding)); } byte[] yourHash = Codec.decodeUrlSafeBase64(hash); return verifyHash(content.getBytes(UTF_8), yourHash); }
public boolean verifyHash(String content, String hash) { int len = hash.length(); int padding = 4 - len % 4; if (padding > 0) { hash = S.concat(hash, S.times(Codec.URL_SAFE_BASE64_PADDING_CHAR, padding)); } byte[] yourHash = Codec.decodeUrlSafeBase64(hash); return verifyHash(content.getBytes(UTF_8), yourHash); }
public Token deserialize(String tokenString) { List<String> parts = S.fastSplit(tokenString, "."); E.illegalArgumentIf(parts.size() != 3); String encodedHeaders = parts.get(0); String encodedPayloads = parts.get(1); String hash = parts.get(2); if (!verifyHash(encodedHeaders, encodedPayloads, hash)) { return null; } String headerString = new String(Codec.decodeUrlSafeBase64(encodedHeaders)); JSONObject headers = JSON.parseObject(headerString); if (!verifyArgo(headers)) { return null; } String payloadString = new String(Codec.decodeUrlSafeBase64(encodedPayloads)); JSONObject payloads = JSON.parseObject(payloadString); if (!verifyIssuer(payloads)) { return null; } if (!verifyExpires(payloads)) { return null; } Token token = new Token(issuer); token.headers.putAll(headers); token.payloads.putAll(payloads); return token; }
public Token deserialize(String tokenString) { List<String> parts = S.fastSplit(tokenString, "."); E.illegalArgumentIf(parts.size() != 3); String encodedHeaders = parts.get(0); String encodedPayloads = parts.get(1); String hash = parts.get(2); if (!verifyHash(encodedHeaders, encodedPayloads, hash)) { return null; } String headerString = new String(Codec.decodeUrlSafeBase64(encodedHeaders)); JSONObject headers = JSON.parseObject(headerString); if (!verifyArgo(headers)) { return null; } String payloadString = new String(Codec.decodeUrlSafeBase64(encodedPayloads)); JSONObject payloads = JSON.parseObject(payloadString); if (!verifyIssuer(payloads)) { return null; } if (!verifyExpires(payloads)) { return null; } Token token = new Token(issuer); token.headers.putAll(headers); token.payloads.putAll(payloads); return token; }