Функция wp_hash() в WordPress: обзор, параметры, примеры использования

WP_HASH() │ WP 2.0.3

Функция wp_hash() позволяет получать хеш для заданной строки.

Что такое хеш?

Хеш — это строка фиксированной длины, созданная из любых данных. Она формируется так, чтобы вероятность появления разных данных с одинаковым хешем была очень низкой. Восстановить исходные данные по их хешу также должно быть как можно сложнее.

Плагинная функция

Функция wp_hash() является плагинной, то есть её можно заменить с помощью плагина. Она определена и работает только после загрузки всех плагинов (то есть, до этого момента функция не будет доступна). Поэтому вы не можете вызывать эту функцию непосредственно из кода плагина. Вызывайте ее на хуке plugins_loaded или позже, например, на хуке init.

Замена функции

Если вы создадите функцию с тем же именем в вашем плагине, она заменит исходную функцию. Это может быть сделано как в must-use, так и в обычном плагине.

Производительность функции

  • Время выполнения (1 раз): 0.000001 сек (скорость света).
  • Время выполнения (50000 раз): 0.08 сек (скорость света).
  • PHP 7.2.5, WP 4.9.8.

Возврат значения

Функция возвращает строку — хеш для переменной $data.

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

wp_hash( $data, $scheme );

Параметры:

  • $data (строка, обязательный) — Исходный текст, для которого нужно создать хеш.
  • $scheme (строка) — Схема аутентификации, принцип хеширования. Этот параметр передается в функцию wp_salt(), результат которой добавляется к хешу. Возможные значения:
    • auth
    • secure_auth
    • logged_in
    • nonce

По умолчанию: 'auth'

Примеры использования

Пример 1

echo wp_hash( 'wp-kama' ); // > af3393632a8bb769275e1e992cac39c4
// Повторный вызов
echo wp_hash( 'wp-kama' ); // > af3393632a8bb769275e1e992cac39c4

echo wp_hash( 'WP-KAMA' ); // > b919a9bc1a3f37892bd3dc150e67785a

Изменения

  • С версии 2.0.3 — Функция была представлена.

Реализация функции

function wp_hash( $data, $scheme = 'auth' ) {
    $salt = wp_salt( $scheme );
    return hash_hmac( 'md5', $data, $salt );
}

Связанные функции

Безопасность

  • check_admin_referer() — Проверяет реферер для админ-запросов.
  • check_ajax_referer() — Проверяет реферер для AJAX-запросов.
  • sanitize_url() — Очищает URL.
  • wp_create_nonce() — Создает уникальную строку для защиты от CSRF.
  • wp_generate_password() — Генерирует пароль.
  • wp_hash_password() — Хеширует пароль.
  • wp_http_validate_url() — Проверяет, валиден ли URL.
  • wp_kses_post() — Очищает содержимое поста от нежелательных HTML-тегов.
  • wp_nonce_ays() — Создает страницу с подтверждением для выполнения действия, защищенного токеном.
  • wp_nonce_field() — Добавляет скрытое поле с токеном для защиты формы.
  • wp_nonce_url() — Создает URL с токеном.
  • wp_referer_field() — Добавляет скрытое поле с реферером.
  • wp_salt() — Получает соль для хеширования.
  • wp_sanitize_redirect() — Очищает URL для редиректа.
  • wp_verify_nonce() — Проверяет токен на действительность.

Теперь это руководство должно помочь вам легко понять, как использовать функцию wp_hash() и связанные с ней концепции в WordPress!

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *