次の方法で共有


CryptographicOperations.FixedTimeEquals メソッド

定義

2 バイト シーケンスの等価性を、値ではなくシーケンスの長さに依存する時間の長さで決定します。

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>

比較対象となる 2 番目のバッファー。

戻り値

left および right で、Length の値が同じであり、同じコンテンツが含まれている場合は、true。それ以外の場合は false

注釈

このメソッドは、2 つのバッファーの内容を等しいかどうかを比較し、タイミング情報を漏らさない方法で比較するため、暗号化ルーチン内での使用に最適です。

このメソッドは、 と の長さが異なる場合leftにのみショートサーキットし、 right を返しますfalse

固定時間動作は、同じアドレスを参照するときやright参照する場合leftを含め、他のすべての場合に保証されます。

適用対象