Поделиться через


SP800108HmacCounterKdf.DeriveBytes Метод

Определение

Перегрузки

DeriveBytes(Byte[], HashAlgorithmName, Byte[], Byte[], Int32)

Наследует ключ указанной длины.

DeriveBytes(Byte[], HashAlgorithmName, String, String, Int32)

Наследует ключ указанной длины.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Наследует ключ указанной длины.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Заполняет буфер производным ключом.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32)

Наследует ключ указанной длины.

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Byte>)

Заполняет буфер производным ключом.

DeriveBytes(Byte[], HashAlgorithmName, Byte[], Byte[], Int32)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Наследует ключ указанной длины.

public:
 static cli::array <System::Byte> ^ DeriveBytes(cli::array <System::Byte> ^ key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, cli::array <System::Byte> ^ label, cli::array <System::Byte> ^ context, int derivedKeyLengthInBytes);
public static byte[] DeriveBytes (byte[] key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, byte[] label, byte[] context, int derivedKeyLengthInBytes);
static member DeriveBytes : byte[] * System.Security.Cryptography.HashAlgorithmName * byte[] * byte[] * int -> byte[]
Public Shared Function DeriveBytes (key As Byte(), hashAlgorithm As HashAlgorithmName, label As Byte(), context As Byte(), derivedKeyLengthInBytes As Integer) As Byte()

Параметры

key
Byte[]

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
Byte[]

Метка, определяющая назначение производного ключа.

context
Byte[]

Контекст, содержащий сведения, связанные с производным ключом.

derivedKeyLengthInBytes
Int32

Длина производного ключа в байтах.

Возвращаемое значение

Byte[]

Массив, содержащий производный ключ.

Исключения

key null.

-или-

label null.

-или-

context null.

-или-

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

derivedKeyLengthInBytes отрицательно или больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

Текущая платформа не поддерживает реализацию HMAC.

Применяется к

DeriveBytes(Byte[], HashAlgorithmName, String, String, Int32)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Наследует ключ указанной длины.

public:
 static cli::array <System::Byte> ^ DeriveBytes(cli::array <System::Byte> ^ key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, System::String ^ label, System::String ^ context, int derivedKeyLengthInBytes);
public static byte[] DeriveBytes (byte[] key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, string label, string context, int derivedKeyLengthInBytes);
static member DeriveBytes : byte[] * System.Security.Cryptography.HashAlgorithmName * string * string * int -> byte[]
Public Shared Function DeriveBytes (key As Byte(), hashAlgorithm As HashAlgorithmName, label As String, context As String, derivedKeyLengthInBytes As Integer) As Byte()

Параметры

key
Byte[]

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
String

Метка, определяющая назначение производного ключа.

context
String

Контекст, содержащий сведения, связанные с производным ключом.

derivedKeyLengthInBytes
Int32

Длина производного ключа в байтах.

Возвращаемое значение

Byte[]

Массив, содержащий производный ключ.

Исключения

key null.

-или-

label null.

-или-

context null.

-или-

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

derivedKeyLengthInBytes отрицательно или больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

label или context содержит текст, который нельзя преобразовать в UTF-8.

Текущая платформа не поддерживает реализацию HMAC.

Комментарии

label и context будут преобразованы в байты с помощью кодировки UTF-8. для других кодировок выполните преобразование с помощью требуемой кодировки и используйте перегрузку, которая принимает метку и контекст в качестве последовательности байтов.

Применяется к

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Int32)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Наследует ключ указанной длины.

public:
 static cli::array <System::Byte> ^ DeriveBytes(ReadOnlySpan<System::Byte> key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, ReadOnlySpan<System::Byte> label, ReadOnlySpan<System::Byte> context, int derivedKeyLengthInBytes);
public static byte[] DeriveBytes (ReadOnlySpan<byte> key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, ReadOnlySpan<byte> label, ReadOnlySpan<byte> context, int derivedKeyLengthInBytes);
static member DeriveBytes : ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName * ReadOnlySpan<byte> * ReadOnlySpan<byte> * int -> byte[]
Public Shared Function DeriveBytes (key As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName, label As ReadOnlySpan(Of Byte), context As ReadOnlySpan(Of Byte), derivedKeyLengthInBytes As Integer) As Byte()

Параметры

key
ReadOnlySpan<Byte>

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
ReadOnlySpan<Byte>

Метка, определяющая назначение производного ключа.

context
ReadOnlySpan<Byte>

Контекст, содержащий сведения, связанные с производным ключом.

derivedKeyLengthInBytes
Int32

Длина производного ключа в байтах.

Возвращаемое значение

Byte[]

Массив, содержащий производный ключ.

Исключения

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

derivedKeyLengthInBytes отрицательно или больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

Текущая платформа не поддерживает реализацию HMAC.

Применяется к

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, Span<Byte>)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Заполняет буфер производным ключом.

public:
 static void DeriveBytes(ReadOnlySpan<System::Byte> key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, ReadOnlySpan<System::Byte> label, ReadOnlySpan<System::Byte> context, Span<System::Byte> destination);
public static void DeriveBytes (ReadOnlySpan<byte> key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, ReadOnlySpan<byte> label, ReadOnlySpan<byte> context, Span<byte> destination);
static member DeriveBytes : ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName * ReadOnlySpan<byte> * ReadOnlySpan<byte> * Span<byte> -> unit
Public Shared Sub DeriveBytes (key As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName, label As ReadOnlySpan(Of Byte), context As ReadOnlySpan(Of Byte), destination As Span(Of Byte))

Параметры

key
ReadOnlySpan<Byte>

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
ReadOnlySpan<Byte>

Метка, определяющая назначение производного ключа.

context
ReadOnlySpan<Byte>

Контекст, содержащий сведения, связанные с производным ключом.

destination
Span<Byte>

Буфер, который получит производный ключ.

Исключения

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

destination больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

Текущая платформа не поддерживает реализацию HMAC.

Применяется к

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Int32)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Наследует ключ указанной длины.

public:
 static cli::array <System::Byte> ^ DeriveBytes(ReadOnlySpan<System::Byte> key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, ReadOnlySpan<char> label, ReadOnlySpan<char> context, int derivedKeyLengthInBytes);
public static byte[] DeriveBytes (ReadOnlySpan<byte> key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, ReadOnlySpan<char> label, ReadOnlySpan<char> context, int derivedKeyLengthInBytes);
static member DeriveBytes : ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName * ReadOnlySpan<char> * ReadOnlySpan<char> * int -> byte[]
Public Shared Function DeriveBytes (key As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName, label As ReadOnlySpan(Of Char), context As ReadOnlySpan(Of Char), derivedKeyLengthInBytes As Integer) As Byte()

Параметры

key
ReadOnlySpan<Byte>

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
ReadOnlySpan<Char>

Метка, определяющая назначение производного ключа.

context
ReadOnlySpan<Char>

Контекст, содержащий сведения, связанные с производным ключом.

derivedKeyLengthInBytes
Int32

Длина производного ключа в байтах.

Возвращаемое значение

Byte[]

Массив, содержащий производный ключ.

Исключения

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

derivedKeyLengthInBytes отрицательно или больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

label или context содержит текст, который нельзя преобразовать в UTF-8.

Текущая платформа не поддерживает реализацию HMAC.

Комментарии

label и context будут преобразованы в байты с помощью кодировки UTF-8. для других кодировок выполните преобразование с помощью требуемой кодировки и используйте перегрузку, которая принимает метку и контекст в качестве последовательности байтов.

Применяется к

DeriveBytes(ReadOnlySpan<Byte>, HashAlgorithmName, ReadOnlySpan<Char>, ReadOnlySpan<Char>, Span<Byte>)

Исходный код:
SP800108HmacCounterKdf.cs
Исходный код:
SP800108HmacCounterKdf.cs

Заполняет буфер производным ключом.

public:
 static void DeriveBytes(ReadOnlySpan<System::Byte> key, System::Security::Cryptography::HashAlgorithmName hashAlgorithm, ReadOnlySpan<char> label, ReadOnlySpan<char> context, Span<System::Byte> destination);
public static void DeriveBytes (ReadOnlySpan<byte> key, System.Security.Cryptography.HashAlgorithmName hashAlgorithm, ReadOnlySpan<char> label, ReadOnlySpan<char> context, Span<byte> destination);
static member DeriveBytes : ReadOnlySpan<byte> * System.Security.Cryptography.HashAlgorithmName * ReadOnlySpan<char> * ReadOnlySpan<char> * Span<byte> -> unit
Public Shared Sub DeriveBytes (key As ReadOnlySpan(Of Byte), hashAlgorithm As HashAlgorithmName, label As ReadOnlySpan(Of Char), context As ReadOnlySpan(Of Char), destination As Span(Of Byte))

Параметры

key
ReadOnlySpan<Byte>

Ключ-производный ключ.

hashAlgorithm
HashAlgorithmName

Алгоритм HMAC.

label
ReadOnlySpan<Char>

Метка, определяющая назначение производного ключа.

context
ReadOnlySpan<Char>

Контекст, содержащий сведения, связанные с производным ключом.

destination
Span<Byte>

Буфер, который получит производный ключ.

Исключения

hashAlgorithm имеет Name, null.

hashAlgorithm имеет Name пустой.

destination больше максимального числа байтов, которые могут быть производными.

hashAlgorithm не является известным или поддерживаемым хэш-алгоритмом.

label или context содержит текст, который нельзя преобразовать в UTF-8.

Текущая платформа не поддерживает реализацию HMAC.

Комментарии

label и context будут преобразованы в байты с помощью кодировки UTF-8. для других кодировок выполните преобразование с помощью требуемой кодировки и используйте перегрузку, которая принимает метку и контекст в качестве последовательности байтов.

Применяется к