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