WordPress at a glance
function is not described

WP_Recovery_Mode_Cookie_Service::recovery_mode_hash() private WP 5.2.0

Gets a form of wp_hash() specific to Recovery Mode.

We cannot use wp_hash() because it is defined in pluggable.php which is not loaded until after plugins are loaded, which is too late to verify the recovery mode cookie.

This tries to use the AUTH salts first, but if they aren't valid specific salts will be generated and stored.

{} It's a method of the class: WP_Recovery_Mode_Cookie_Service{}

No Hooks.

Return

String/false. The hashed $data, or false on failure.

Usage

// private - for code of main (parent) class only
$result = $this->recovery_mode_hash( $data );
$data(string) (required)
Data to hash.

Changelog

Since 5.2.0 Introduced.

Code of WP_Recovery_Mode_Cookie_Service::recovery_mode_hash() WP 5.5.2

<?php
private function recovery_mode_hash( $data ) {
	if ( ! defined( 'AUTH_KEY' ) || AUTH_KEY === 'put your unique phrase here' ) {
		$auth_key = get_site_option( 'recovery_mode_auth_key' );

		if ( ! $auth_key ) {
			if ( ! function_exists( 'wp_generate_password' ) ) {
				require_once ABSPATH . WPINC . '/pluggable.php';
			}

			$auth_key = wp_generate_password( 64, true, true );
			update_site_option( 'recovery_mode_auth_key', $auth_key );
		}
	} else {
		$auth_key = AUTH_KEY;
	}

	if ( ! defined( 'AUTH_SALT' ) || AUTH_SALT === 'put your unique phrase here' || AUTH_SALT === $auth_key ) {
		$auth_salt = get_site_option( 'recovery_mode_auth_salt' );

		if ( ! $auth_salt ) {
			if ( ! function_exists( 'wp_generate_password' ) ) {
				require_once ABSPATH . WPINC . '/pluggable.php';
			}

			$auth_salt = wp_generate_password( 64, true, true );
			update_site_option( 'recovery_mode_auth_salt', $auth_salt );
		}
	} else {
		$auth_salt = AUTH_SALT;
	}

	$secret = $auth_key . $auth_salt;

	return hash_hmac( 'sha1', $data, $secret );
}