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