wp_fast_hash()WP 6.8.0

Создаёт криптографически стойкий хеш сообщения с помощью алгоритма BLAKE2b.

Для проверки хеша используйте wp_verify_fast_hash().

Функция подходит только для случайно сгенерированных значений длиной более 128 бит, потому что не добавляет соль перед хешированием.

WordPress использует функцию для хеширования случайно созданных ключей безопасности и паролей приложений.

Для хеширования применяется алгоритм BLAKE2b из библиотеки Sodium.

  • Не используйте функцию для пользовательских паролей. Для них предназначена wp_hash_password().

  • Не используйте функцию для данных с низкой энтропией (для коротких, простых или предсказуемых значений). Для них предназначена wp_hash().
Основа для: wp_verify_fast_hash()

Хуков нет.

Возвращает

string.

  • строку - хеш сообщения.

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

wp_fast_hash( string $message ): string;
$message(string) (обязательный)

Сообщение для хеширования.

Иммет атрибут #[\SensitiveParameter], который скрывает значение параметра из логов. Используется для защиты чувствительных данных (например, паролей). Смотрите: https://php.net/SensitiveParameter

Примеры

#1 Создание и проверка хеша случайного ключа

$key  = bin2hex( random_bytes( 32 ) );
$hash = wp_fast_hash( $key );

$is_valid = wp_verify_fast_hash( $key, $hash );

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

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

Код wp_fast_hash() WP 7.1

function wp_fast_hash(
	#[\SensitiveParameter]
	string $message
): string {
	$hashed = sodium_crypto_generichash( $message, 'wp_fast_hash_6.8+', 30 );
	return '$generic$' . sodium_bin2base64( $hashed, SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING );
}