* @compile-time-eval * @refcount 1 */ function hash_algos(): array {} /** * @return array * @compile-time-eval * @refcount 1 */ function hash_hmac_algos(): array {} /** * @refcount 1 */ function hash_pbkdf2(string $algo, #[\SensitiveParameter] string $password, string $salt, int $iterations, int $length = 0, bool $binary = false, array $options = []): string {} function hash_equals(#[\SensitiveParameter] string $known_string, #[\SensitiveParameter] string $user_string): bool {} /** * @refcount 1 */ function hash_hkdf(string $algo, #[\SensitiveParameter] string $key, int $length = 0, string $info = "", string $salt = ""): string {} #ifdef PHP_MHASH_BC /** @deprecated */ function mhash_get_block_size(int $algo): int|false {} /** * @refcount 1 * @deprecated */ function mhash_get_hash_name(int $algo): string|false {} /** * @refcount 1 * @deprecated */ function mhash_keygen_s2k(int $algo, string $password, string $salt, int $length): string|false {} /** @deprecated */ function mhash_count(): int {} /** * @refcount 1 * @deprecated */ function mhash(int $algo, string $data, ?string $key = null): string|false {} #endif final class HashContext { private function __construct() {} public function __serialize(): array {} public function __unserialize(array $data): void {} }