PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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 Interoperabilität mit Anwendungen bieten, die die Crypto-API verwenden.
Wenn der keySize
Parameter auf 0 Bits festgelegt ist, wird die Standardschlüsselgröße für den angegebenen Algorithmus verwendet.