CryptographicOperations.FixedTimeEquals Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет равенство двух последовательностей байтов за период времени, который зависит от длины последовательностей, но не их значений.
public:
static bool FixedTimeEquals(ReadOnlySpan<System::Byte> left, ReadOnlySpan<System::Byte> right);
public static bool FixedTimeEquals(ReadOnlySpan<byte> left, ReadOnlySpan<byte> right);
static member FixedTimeEquals : ReadOnlySpan<byte> * ReadOnlySpan<byte> -> bool
Public Shared Function FixedTimeEquals (left As ReadOnlySpan(Of Byte), right As ReadOnlySpan(Of Byte)) As Boolean
Параметры
- left
- ReadOnlySpan<Byte>
Первый сравниваемый буфер.
- right
- ReadOnlySpan<Byte>
Второй сравниваемый буфер.
Возвращаемое значение
Значение true, если left и right имеют одинаковые значения для Length и одинаковое содержимое; в противном случае — false.
Комментарии
Этот метод сравнивает содержимое из двух буферов на равенство таким образом, чтобы не утечь информацию о времени, что делает его идеальным для использования в криптографических подпрограммах.
Этот метод будет замыкать и возвращать, false только если left и right имеют разную длину.
Поведение с фиксированным временем гарантируется во всех остальных случаях, в том числе когда left и ссылаются на один и right тот же адрес.