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

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