PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) Methode

Definition

Leitet einen kryptografischen Schlüssel vom PasswordDeriveBytes-Objekt ab.

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()

Parameter

algname
String

Der Name des Algorithmus, für den der Schlüssel abgeleitet werden soll.

alghashname
String

Der Name des Hashalgorithmus, der zum Ableiten des Schlüssels verwendet werden soll.

keySize
Int32

Die Größe des abzuleitenden Schlüssels in Bits.

rgbIV
Byte[]

Der zum Ableiten des Schlüssels zu verwendende Initialisierungsvektor.

Gibt zurück

Byte[]

Der abgeleitete Schlüssel.

Attribute

Ausnahmen

Der keySize-Parameter ist ungültig.

- oder - Der Kryptografiedienstanbieter (Cryptographic Service Provider, CSP) kann nicht abgerufen werden.

- oder - Der algname-Parameter ist kein gültiger Algorithmusname.

- oder - Der alghashname-Parameter ist kein gültiger Name eines Hashalgorithmus.

Beispiele

Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die PasswordDeriveBytes Klasse bereitgestellt wird.

// 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)

Hinweise

Diese Funktion ist ein Wrapper für die Krypto-API-Funktion CryptDeriveKey(), und soll die Interoperabilität mit Anwendungen mit der Crypto-API anbieten.

Wenn der Parameter auf 0 Bit festgelegt ist, wird die keySize Standardschlüsselgröße für den angegebenen Algorithmus verwendet.

Gilt für

Siehe auch