The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
CryptographicBuffer class
Contains static methods that implement data management functionality common to cryptographic operations.
Syntax
var cryptographicBuffer = Windows.Security.Cryptography.CryptographicBuffer;
Attributes
- DualApiPartitionAttribute()
- MarshalingBehaviorAttribute(Agile)
- StaticAttribute(Windows.Security.Cryptography.ICryptographicBufferStatics, NTDDI_WIN8)
- ThreadingAttribute(Both)
- VersionAttribute(NTDDI_WIN8)
Members
The CryptographicBuffer class has these types of members:
Methods
The CryptographicBuffer class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.
| Method | Description |
|---|---|
| Compare | Compares two IBuffer objects. |
| ConvertBinaryToString | Converts a buffer to an encoded string. |
| ConvertStringToBinary | Converts a string to an encoded buffer. |
| CopyToByteArray | Copies a buffer to an array of bytes. |
| CreateFromByteArray | Creates a buffer from an input byte array. |
| DecodeFromBase64String | Decodes a string that has been base64 encoded. |
| DecodeFromHexString | Decodes a string that has been hexadecimal encoded. |
| EncodeToBase64String | Encodes a buffer to a base64 string. |
| EncodeToHexString | Encodes a buffer to a hexadecimal string. |
| GenerateRandom | Creates a buffer that contains random data. |
| GenerateRandomNumber | Creates a random number. |
Examples
public void CryptographicBufferOverview()
{
// 1. Generate random data.
UInt32 buffLength = 32;
IBuffer buffRnd = CryptographicBuffer.GenerateRandom(buffLength);
String strRndData = CryptographicBuffer.EncodeToHexString(buffRnd);
// 2. Generate a random number.
UInt32 Rnd = CryptographicBuffer.GenerateRandomNumber();
// 3. Decode a Base 64 string to a buffer and encode the buffer to a Base64 string.
String strBase64v1 = "uiwyeroiugfyqcajkds897945234==";
IBuffer buffFromBase64 = CryptographicBuffer.DecodeFromBase64String(strBase64v1);
String strBase64v2 = CryptographicBuffer.EncodeToBase64String(buffFromBase64);
// 4. Decode a hexadecimal string to a buffer and encode the buffer to a hexadecimal string.
String strHexv1 = "30310AFF";
IBuffer buffFromHex = CryptographicBuffer.DecodeFromHexString(strHexv1);
String strHexv2 = CryptographicBuffer.EncodeToHexString(buffFromHex);
// 5. Convert a strings to binary data and convert binary data to strings.
String strIn = "Input String";
IBuffer buffUTF16BE = CryptographicBuffer.ConvertStringToBinary(strIn, BinaryStringEncoding.Utf16BE);
String strUTF16BE = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf16BE, buffUTF16BE);
IBuffer buffUTF16LE = CryptographicBuffer.ConvertStringToBinary(strIn, BinaryStringEncoding.Utf16LE);
String strUTF16LE = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf16LE, buffUTF16LE);
IBuffer buffUTF8 = CryptographicBuffer.ConvertStringToBinary(strIn, BinaryStringEncoding.Utf8);
String strUTF8 = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, buffUTF8);
// 6. Create a buffer from a byte array and create a byte array from a buffer,
byte[] arrByte = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
IBuffer buffFromByteArr = CryptographicBuffer.CreateFromByteArray(arrByte);
byte[] arrByteNew;
CryptographicBuffer.CopyToByteArray(buffFromByteArr, out arrByteNew);
// 7. Compare two buffers. The following Boolean value is true because the code points are equal.
String strHex = "30310aff";
String strBase64 = "MDEK/w==";
IBuffer buff1 = CryptographicBuffer.DecodeFromHexString(strHex);
IBuffer buff2 = CryptographicBuffer.DecodeFromBase64String(strBase64);
Boolean bVal = CryptographicBuffer.Compare(buff1, buff2);
}
Requirements
|
Minimum supported client | Windows 8 [Windows Store apps, desktop apps] |
|---|---|
|
Minimum supported server | Windows Server 2012 [Windows Store apps, desktop apps] |
|
Namespace |
|
|
Metadata |
|
Build date: 12/4/2012
