PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает криптографический ключ из объекта PasswordDeriveBytes.
public:
cli::array <System::Byte> ^ CryptDeriveKey(System::String ^ algname, System::String ^ alghashname, int keySize, cli::array <System::Byte> ^ rgbIV);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public byte[] CryptDeriveKey (string? algname, string? alghashname, int keySize, byte[] rgbIV);
public byte[] CryptDeriveKey (string algname, string alghashname, int keySize, byte[] rgbIV);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
member this.CryptDeriveKey : string * string * int * byte[] -> byte[]
Public Function CryptDeriveKey (algname As String, alghashname As String, keySize As Integer, rgbIV As Byte()) As Byte()
Параметры
- algname
- String
Имя алгоритма, используемого для формирования ключа.
- alghashname
- String
Имя хэш-алгоритма, используемого для формирования ключа.
- keySize
- Int32
Размер формируемого ключа в битах.
- rgbIV
- Byte[]
Вектор инициализации, используемый для формирования ключа.
Возвращаемое значение
Сформированный ключ.
- Атрибуты
Исключения
Параметр keySize
является неверным.
-или-
Не удалось получить поставщик служб шифрования (CSP).
-или-
Значение параметра algname
не является допустимым именем алгоритма.
-или-
Значение параметра alghashname
не является допустимым именем хэш-алгоритма.
Примеры
Этот пример входит в состав более крупного примера использования класса PasswordDeriveBytes.
// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
// This example uses the SHA1 algorithm.
// Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
cryptoDESProvider->Key = passwordDeriveBytes->CryptDeriveKey
("TripleDES", "SHA1", 192, cryptoDESProvider->IV);
// Create the key and set it to the Key property
// of the TripleDESCryptoServiceProvider object.
// This example uses the SHA1 algorithm.
// Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV);
' Create the key and set it to the Key property
' of the TripleDESCryptoServiceProvider object.
' This example uses the SHA1 algorithm.
' Due to collision problems with SHA1, Microsoft recommends SHA256 or better.
tdes.Key = pdb.CryptDeriveKey("TripleDES", "SHA1", 192, tdes.IV)
Комментарии
Эта функция является оболочкой для функции API шифрования CryptDeriveKey() и предназначена для обеспечения взаимодействия с приложениями, использующими API шифрования.
keySize
Если для параметра задано значение 0 бит, используется размер ключа по умолчанию для указанного алгоритма.