/** * Match the Client Response value with a generated digest based on the password * * @param digest * @param password * @return * @throws FormatException */ public static boolean matchCredential(Digest digest, char[] password) { return clientResponseValue(digest, password).equalsIgnoreCase(digest.getClientResponse()); }
/** * @param token * @return */ public static String userName(String token) { if (token.startsWith("Digest")) { token = token.substring(7).trim(); } return extract(token, "username="); }
byte[] ha2 = messageDigest.digest(); messageDigest.update(convertBytesToHex(ha1).getBytes(UTF8)); messageDigest.update((byte) ':'); messageDigest.update(digest.getNonce().getBytes(UTF8)); messageDigest.update(digest.getQop().getBytes(UTF8)); messageDigest.update((byte) ':'); messageDigest.update(convertBytesToHex(ha2).getBytes(UTF8)); byte[] digestedValue = messageDigest.digest(); return convertBytesToHex(digestedValue); } catch (Exception e) { throw new RuntimeException(e);