/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
private boolean matches(String rawPassword, String encodedPassword) { String prefix = extractPrefix(encodedPassword); if (prefix == null) { return PasswordEncoderUtils.equals(encodedPassword, rawPassword); } byte[] salt; if (prefix.equals(SSHA_PREFIX) || prefix.equals(SSHA_PREFIX_LC)) { salt = extractSalt(encodedPassword); } else if (!prefix.equals(SHA_PREFIX) && !prefix.equals(SHA_PREFIX_LC)) { throw new IllegalArgumentException("Unsupported password prefix '" + prefix + "'"); } else { // Standard SHA salt = null; } int startOfHash = prefix.length(); String encodedRawPass = encode(rawPassword, salt).substring(startOfHash); return PasswordEncoderUtils .equals(encodedRawPass, encodedPassword.substring(startOfHash)); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
private boolean matches(String rawPassword, String encodedPassword) { String prefix = extractPrefix(encodedPassword); if (prefix == null) { return PasswordEncoderUtils.equals(encodedPassword, rawPassword); } byte[] salt; if (prefix.equals(SSHA_PREFIX) || prefix.equals(SSHA_PREFIX_LC)) { salt = extractSalt(encodedPassword); } else if (!prefix.equals(SHA_PREFIX) && !prefix.equals(SHA_PREFIX_LC)) { throw new IllegalArgumentException("Unsupported password prefix '" + prefix + "'"); } else { // Standard SHA salt = null; } int startOfHash = prefix.length(); String encodedRawPass = encode(rawPassword, salt).substring(startOfHash); return PasswordEncoderUtils .equals(encodedRawPass, encodedPassword.substring(startOfHash)); }
@Test public void equalsWhenSameThenTrue() { assertThat(PasswordEncoderUtils.equals("abcdef", "abcdef")).isTrue(); } }
@Test public void equalsWhenNullAndNullThenTrue() { assertThat(PasswordEncoderUtils.equals(null, null)).isTrue(); }
@Test public void equalsWhenEmtpyAndEmptyThenTrue() { assertThat(PasswordEncoderUtils.equals("", "")).isTrue(); }
@Test public void equalsWhenDifferentCaseThenFalse() { assertThat(PasswordEncoderUtils.equals("aBc", "abc")).isFalse(); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }
/** * Takes a previously encoded password and compares it with a rawpassword after mixing * in the salt and encoding that value * * @param rawPassword plain text password * @param encodedPassword previously encoded password * @return true or false */ public boolean matches(CharSequence rawPassword, String encodedPassword) { String salt = extractSalt(encodedPassword); String rawPasswordEncoded = digest(salt, rawPassword); return PasswordEncoderUtils.equals(encodedPassword.toString(), rawPasswordEncoded); }