共用方式為


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>

要比較的第二個緩衝區。

傳回

leftright 具有相同 Length 值和相同內容,則為 true;否則為 false

備註

此方法會比較兩個緩衝區的內容是否相等,以不會洩漏計時資訊的方式進行比較,使其適合用於密碼編譯例程。

這個方法會縮短,只有在 和 有不同的長度時left,才會right傳回 false

所有其他情況下都保證固定時間行為,包括何時 leftright 參考相同的位址。

適用於