hash_equals

函数


hash_equals ( $known_string, $user_string )
参数
  • (string)
    $known_string
    Expected string.
    Required:
  • (string)
    $user_string
    Actual, user supplied, string.
    Required:
返回值
  • (bool) Whether strings are equal.
定义位置
  • wp-includes/compat.php
    , line 318
引入
3.9.2
弃用

Timing attack safe string comparison.

Compares two strings using the same time whether they’re equal or not.

Note: It can leak the length of a string when arguments of differing length are supplied.

This function was added in PHP 5.6.
However, the Hash extension may be explicitly disabled on select servers.
As of PHP 7.4.0, the Hash extension is a core PHP extension and can no
longer be disabled.
I.e. when PHP 7.4.0 becomes the minimum requirement, this polyfill
can be safely removed.

function hash_equals( $known_string, $user_string ) {
		$known_string_length = strlen( $known_string );

		if ( strlen( $user_string ) !== $known_string_length ) {
			return false;
		}

		$result = 0;

		// Do not attempt to "optimize" this.
		for ( $i = 0; $i