CryptographicOperations.FixedTimeEquals 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定两个字节序列在一定时间内是否相等,该时间取决于序列的长度,而不取决于它们的值。
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>
要比较的第二个缓冲区。
返回
如果 left
和 right
具有 Length 的相同值以及相同内容,则为 true
;否则为 false
。
注解
此方法以不泄漏计时信息的方式比较两个缓冲区中的内容,使其非常适合用于加密例程。
此方法将短路,仅当长度不同且right
长度不同时left
返回false
。
固定时间行为在所有其他情况下都得到保证,包括何时 left
引用 right
同一地址。