@Override
    public boolean equals(final Object other) {
        if (other instanceof AbstractCryptHash) {
            final AbstractCryptHash that = (AbstractCryptHash) other;
            return this.formatToCryptString().equals(that.formatToCryptString());
        }
        return false;
    }
Returns {@code true} if the specified object is an AbstractCryptHash and its
{@link #formatToCryptString()} formatted output} is identical to
this AbstractCryptHash's formatted output, {@code false} otherwise.

@param other the object (AbstractCryptHash) to check for equality.
@return {@code true} if the specified object is a AbstractCryptHash
and its {@link #formatToCryptString()} formatted output} is identical to
this AbstractCryptHash's formatted output, {@code false} otherwise.
crypto/hash/src/main/java/org/apache/shiro/crypto/hash/AbstractCryptHash.java