CakeFest 2024: The Official CakePHP Conference

sodium_memcmp

(PHP 7 >= 7.2.0, PHP 8)

sodium_memcmpПроверка на равенство за постоянное количество времени

Описание

sodium_memcmp(string $string1, string $string2): int

Сравнивает две строки за постоянное время.

На практике чаще вместо этой функции используется hash_equals(), поскольку она предоставляет ту же логику, но возвращает логическое значение (bool) вместо целого числа (int). Однако, если вы используете возвращаемое значение сравнения в вычислениях, которые чувствительны ко времени, и беспокоитесь об утечках времени при преобразованиях типа bool-to-int, sodium_memcmp() - идеальная замена.

Список параметров

string1

Строка для сравнения.

string2

Другая строка для сравнения.

Возвращаемые значения

Возвращает 0, если обе строки равны; -1 в противном случае.

add a note

User Contributed Notes 1 note

up
0
divinity76 at gmail dot com
4 years ago
seems to me that this function does the same as the hash_equals() function. hash_equals() has nothing to do with hashes really, it is just a constant-time string equality check function, apparently like sodium_memcmp()
To Top