private boolean verifyKey(final String unHashedKey, final CachedHashedDataFeedKey cachedHashedDataFeedKey) {
        final String hash = cachedHashedDataFeedKey.getHash();
        final String salt = cachedHashedDataFeedKey.getSalt();
        DataFeedKeyHasher hasher;
        try {
            final DataFeedKeyHashAlgorithm hashAlgorithmId = cachedHashedDataFeedKey.getHashAlgorithm();
            hasher = hashFunctionMap.get(hashAlgorithmId);
        } catch (Exception e) {
            throw new RuntimeException("Unknown hash algorithm " + cachedHashedDataFeedKey.getHashAlgorithm());
        }

        final boolean isValid = hasher.verify(unHashedKey, hash, salt);
        LOGGER.debug("verifyKey() - unHashedKey: {}, hash: {}, salt: {}, isValid: {}",
                unHashedKey, hash, salt, isValid);
        return isValid;
    }
Loading function for an un-hashed key and its keyOwner.
stroom-receive/stroom-receive-common/src/main/java/stroom/receive/common/DataFeedKeyServiceImpl.java