Поделиться через


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 тот же адрес.

Применяется к