throw new SodiumException('Unsupported key size. Must be at most CRYPTO_GENERICHASH_KEYBYTES_MAX bytes long.'
);
} } if (self::
useNewSodiumAPI()) { return (string) sodium_crypto_generichash($message,
$key,
$length);
} if (self::
use_fallback('crypto_generichash'
)) { return (string) call_user_func('\\Sodium\\crypto_generichash',
$message,
$key,
$length);
} if (PHP_INT_SIZE === 4
) { return ParagonIE_Sodium_Crypto32::
generichash($message,
$key,
$length);
} return ParagonIE_Sodium_Crypto::
generichash($message,
$key,
$length);
} /**
* Get the final BLAKE2b hash output for a given context.
*
* @param string $ctx BLAKE2 hashing context. Generated by crypto_generichash_init().
* @param int $length Hash output size.
* @return string Final BLAKE2b hash.
* @throws SodiumException
* @throws TypeError
* @psalm-suppress MixedArgument
* @psalm-suppress ReferenceConstraintViolation
* @psalm-suppress ConflictingReferenceConstraint
*/