Share via


CryptographicBuffer.Compare(IBuffer, IBuffer) Method

Definition

Compares two IBuffer objects.

public:
 static bool Compare(IBuffer ^ object1, IBuffer ^ object2);
 static bool Compare(IBuffer const& object1, IBuffer const& object2);
public static bool Compare(IBuffer object1, IBuffer object2);
function compare(object1, object2)
Public Shared Function Compare (object1 As IBuffer, object2 As IBuffer) As Boolean

Parameters

object1
IBuffer

Buffer to be used for comparison.

object2
IBuffer

Buffer to be used for comparison.

Returns

Boolean

bool

True specifies that the buffers are equal. Two buffers are equal if each code point in one matches the corresponding code point in the other.

Examples


public void CompareBuffers()
{
    // Create a hexadecimal string.
    String strHex = "30310aff";

    // Create a Base64 string that is equivalent to strHex.
    String strBase64v1 = "MDEK/w==";

    // Create a Base64 string that is not equivalent to strHex.
    String strBase64v2 = "KEDM/w==";

    // Decode strHex to a buffer.
    IBuffer buff1 = CryptographicBuffer.DecodeFromHexString(strHex);

    // Decode strBase64v1 to a buffer.
    IBuffer buff2 = CryptographicBuffer.DecodeFromBase64String(strBase64v1);

    // Decode strBase64v2 to a buffer.
    IBuffer buff3 = CryptographicBuffer.DecodeFromBase64String(strBase64v2);

    // Compare the hexadecimal-decoded buff1 to the Base64-decoded buff2.
    // The code points in the two buffers are equal, and the Boolean value
    // is true.
    Boolean bVal_1 = CryptographicBuffer.Compare(buff1, buff2);

    // Compare the hexadecimal-decoded buff1 to the Base64-decoded buff3.
    // The code points in the two buffers are not equal, and the Boolean value
    // is false.
    Boolean bVal_2 = CryptographicBuffer.Compare(buff1, buff3);
}

Applies to