CryptographicBuffer Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Содержит статические методы, реализующие функции управления данными, общие для криптографических операций.
public ref class CryptographicBuffer abstract sealed
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class CryptographicBuffer final
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public static class CryptographicBuffer
Public Class CryptographicBuffer
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
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);
}
Методы
Compare(IBuffer, IBuffer) |
Сравнивает два объекта IBuffer . |
ConvertBinaryToString(BinaryStringEncoding, IBuffer) |
Преобразует буфер в закодированную строку. |
ConvertStringToBinary(String, BinaryStringEncoding) |
Преобразует строку в закодированный буфер. |
CopyToByteArray(IBuffer, Byte[]) |
Копирует буфер в массив байтов. |
CreateFromByteArray(Byte[]) |
Создает буфер из входного массива байтов. |
DecodeFromBase64String(String) |
Декодирует строку в кодировке base64. |
DecodeFromHexString(String) |
Декодирует строку, которая была закодирована в шестнадцатеричном формате. |
EncodeToBase64String(IBuffer) |
Кодирует буфер в строку base64. |
EncodeToHexString(IBuffer) |
Кодирует буфер в шестнадцатеричную строку. |
GenerateRandom(UInt32) |
Создает буфер, содержащий случайные данные. |
GenerateRandomNumber() |
Создает случайное число. |