wp_verify_fast_hash() │ WP 6.8.0

Проверяет, соответствует ли открытое сообщение указанному хешу.

Предназначена для проверки значений, созданных через wp_fast_hash().

Для хешей с префиксом $generic$ повторно вычисляет быстрый хеш сообщения и выполняет безопасное сравнение. Если префикса нет, проверяет значение как переносимый phpass-хеш. Это обеспечивает обратную совместимость со старыми хешами паролей и ключей безопасности.

Работает на основе: wp_fast_hash()

Хуков нет.

Возвращает

bool.

  • true - сообщение соответствует хешу.
  • false - сообщение не соответствует хешу.

Использование

wp_verify_fast_hash( string $message, $hash ): bool;
$message(string) (обязательный)
Исходное сообщение, которое нужно проверить.
$hash(string) (обязательный)
Хеш сообщения.
Обычно создаётся через wp_fast_hash(). Также поддерживаются старые переносимые phpass-хеши.

Примеры

#1 Проверка сообщения

$message = 'random-secret-value';
$hash    = wp_fast_hash( $message );

if ( wp_verify_fast_hash( $message, $hash ) ) {
	echo 'Хеш совпадает.';
}

Список изменений

С версии 6.8.0 Введена.

Код wp_verify_fast_hash() WP 7.1.2

function wp_verify_fast_hash(
	#[\SensitiveParameter]
	string $message,
	string $hash
): bool {
	if ( ! str_starts_with( $hash, '$generic$' ) ) {
		// Back-compat for old phpass hashes.
		require_once ABSPATH . WPINC . '/class-phpass.php';
		return ( new PasswordHash( 8, true ) )->CheckPassword( $message, $hash );
	}

	return hash_equals( $hash, wp_fast_hash( $message ) );
}