fluid-ws-java-client/src/main/java/com/fluidbpm/ws/client/v1/user/AES256Local.java
public static byte[] generateLocalHMACForReqToken(
            byte[] encryptedDataParam, byte[] keyParam, byte[] seedParam){

        byte[] poisonedSeed = poisonBytes(seedParam);

        //Add the seed to the password and SHA-256...
        byte[] derivedKey = sha256(UtilGlobal.addAll(keyParam, poisonedSeed));

        return hmacSha256(derivedKey, encryptedDataParam);
    }
public static byte[] generateLocalHMACForReqToken(
            byte[] encryptedDataParam, byte[] keyParam, byte[] seedParam){

        byte[] poisonedSeed = poisonBytes(seedParam);

        //Add the seed to the password and SHA-256...
        byte[] derivedKey = sha256(UtilGlobal.addAll(keyParam, poisonedSeed));

        return hmacSha256(derivedKey, encryptedDataParam);
    }
Generate a derived HMAC from {@code encryptedDataParam} using {@code keyParam}.

@param encryptedDataParam The encrypted data to generate HMAC from.
@param keyParam Key used to derive the key from.
@param seedParam Seed to be poisoned
@return The HMAC for {@code encryptedDataParam}.