Rfc2898DeriveBytes.GetBytes(Int32) 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.
Gibt den pseudozufälligen Schlüssel für dieses Objekt zurück.
public:
override cli::array <System::Byte> ^ GetBytes(int cb);
public override byte[] GetBytes (int cb);
override this.GetBytes : int -> byte[]
Public Overrides Function GetBytes (cb As Integer) As Byte()
Parameter
- cb
- Int32
Die Anzahl der zu generierenden pseudozufälligen Schlüsselbytes.
Gibt zurück
Ein mit pseudozufälligen Schlüsselbytes gefülltes Bytearray.
Ausnahmen
cb
liegt außerhalb des Bereichs. Für diesen Parameter ist eine nicht negative Zahl erforderlich.
Beispiele
Das folgende Beispiel zeigt, wie Sie die GetBytes -Methode verwenden, um den Schlüssel für eine Instanz von Rfc2898DeriveBytesabzurufen. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die Rfc2898DeriveBytes-Klasse bereitgestellt wird.
try
{
Rfc2898DeriveBytes ^ k1 = gcnew Rfc2898DeriveBytes( pwd1,salt1,myIterations );
Rfc2898DeriveBytes ^ k2 = gcnew Rfc2898DeriveBytes( pwd1,salt1 );
// Encrypt the data.
Aes^ encAlg = Aes::Create();
encAlg->Key = k1->GetBytes( 16 );
MemoryStream^ encryptionStream = gcnew MemoryStream;
CryptoStream^ encrypt = gcnew CryptoStream( encryptionStream,encAlg->CreateEncryptor(),CryptoStreamMode::Write );
array<Byte>^utfD1 = (gcnew System::Text::UTF8Encoding( false ))->GetBytes( data1 );
try
{
Rfc2898DeriveBytes k1 = new Rfc2898DeriveBytes(pwd1, salt1,
myIterations);
Rfc2898DeriveBytes k2 = new Rfc2898DeriveBytes(pwd1, salt1);
// Encrypt the data.
Aes encAlg = Aes.Create();
encAlg.Key = k1.GetBytes(16);
MemoryStream encryptionStream = new MemoryStream();
CryptoStream encrypt = new CryptoStream(encryptionStream,
encAlg.CreateEncryptor(), CryptoStreamMode.Write);
byte[] utfD1 = new System.Text.UTF8Encoding(false).GetBytes(
data1);
Try
Dim k1 As New Rfc2898DeriveBytes(pwd1, salt1, myIterations)
Dim k2 As New Rfc2898DeriveBytes(pwd1, salt1)
' Encrypt the data.
Dim encAlg As Aes = Aes.Create()
encAlg.Key = k1.GetBytes(16)
Dim encryptionStream As New MemoryStream()
Dim encrypt As New CryptoStream(encryptionStream, encAlg.CreateEncryptor(), CryptoStreamMode.Write)
Dim utfD1 As Byte() = New System.Text.UTF8Encoding(False).GetBytes(data1)
Hinweise
Die Rfc2898DeriveBytes -Klasse implementiert PBKDF2-Funktionalität mithilfe eines Pseudorandom-Zahlengenerators basierend auf HMACSHA1. Die Rfc2898DeriveBytes -Klasse akzeptiert ein Kennwort, ein Salt und eine Iterationsanzahl und generiert dann Schlüssel über Aufrufe der GetBytes -Methode. Wiederholte Aufrufe dieser Methode generieren nicht denselben Schlüssel. Stattdessen entspricht das Anfügen von zwei Aufrufen der GetBytes -Methode mit dem cb
Parameterwert von 20
dem Aufruf der GetBytes -Methode einmal mit dem cb
Parameterwert .40