Freigeben über


KeyDerivationParameters.BuildForPbkdf2(IBuffer, UInt32) Methode

Definition

Erstellt ein KeyDerivationParameters-Objekt zur Verwendung in der kennwortbasierten Schlüsselableitungsfunktion 2 (PBKDF2).

public:
 static KeyDerivationParameters ^ BuildForPbkdf2(IBuffer ^ pbkdf2Salt, unsigned int iterationCount);
 static KeyDerivationParameters BuildForPbkdf2(IBuffer const& pbkdf2Salt, uint32_t const& iterationCount);
public static KeyDerivationParameters BuildForPbkdf2(IBuffer pbkdf2Salt, uint iterationCount);
function buildForPbkdf2(pbkdf2Salt, iterationCount)
Public Shared Function BuildForPbkdf2 (pbkdf2Salt As IBuffer, iterationCount As UInteger) As KeyDerivationParameters

Parameter

pbkdf2Salt
IBuffer

Das Salz, ein zufälliger oder pseudorandom-Wert, der in mehreren Iterationen mit dem Kennwort kombiniert werden soll. Ein Salz wird verwendet, um die Entropie über das zu erhöhen, was durch die Verwendung eines Kennworts allein abgerufen werden kann.

iterationCount
UInt32

unsigned int

uint32_t

Anzahl der Iterationen, die zum Ableiten eines Schlüssels verwendet werden sollen.

Gibt zurück

Bezieht sich auf die Parameter, die während der Schlüsselableitung verwendet werden.

Beispiele

public String SampleDeriveFromPbkdf(
    String strAlgName,
    UInt32 targetSize)
{
    // Open the specified algorithm.
    KeyDerivationAlgorithmProvider objKdfProv = KeyDerivationAlgorithmProvider.OpenAlgorithm(strAlgName);

    // Create a buffer that contains the secret used during derivation.
    String strSecret = "MyPassword";
    IBuffer buffSecret = CryptographicBuffer.ConvertStringToBinary(strSecret, BinaryStringEncoding.Utf8);

    // Create a random salt value.
    IBuffer buffSalt = CryptographicBuffer.GenerateRandom(32);

    // Specify the number of iterations to be used during derivation.
    UInt32 iterationCount = 10000;

    // Create the derivation parameters.
    KeyDerivationParameters pbkdf2Params = KeyDerivationParameters.BuildForPbkdf2(buffSalt, iterationCount);

    // Create a key from the secret value.
    CryptographicKey keyOriginal = objKdfProv.CreateKey(buffSecret);

    // Derive a key based on the original key and the derivation parameters.
    IBuffer keyDerived = CryptographicEngine.DeriveKeyMaterial(
        keyOriginal,
        pbkdf2Params,
        targetSize);

    // Encode the key to a hexadecimal value (for display)
    String strKeyHex = CryptographicBuffer.EncodeToHexString(keyDerived);

    // Return the encoded string
    return strKeyHex;
}

Hinweise

Sie können die folgenden Algorithmusnamen mit der OpenAlgorithm-Funktion verwenden, um einen PBKDF2-Algorithmusanbieter zu öffnen:

Gilt für: