Rfc2898DeriveBytes.GetBytes(Int32) Metod

Definition

Returnerar pseudo-slumpmässig nyckel för det här objektet.

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

Parametrar

cb
Int32

Antalet pseudo-slumpmässiga nyckelbyte som ska genereras.

Returer

Byte[]

En bytematris fylld med pseudo-slumpmässiga nyckelbyte.

Undantag

cb är utom räckhåll. Den här parametern kräver ett icke-negativt tal.

Exempel

I följande exempel visas hur du använder GetBytes metoden för att hämta nyckeln för en instans av Rfc2898DeriveBytes. Det här kodexemplet är en del av ett större exempel för Rfc2898DeriveBytes klassen.

            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)

Kommentarer

Klassen Rfc2898DeriveBytes implementerar PBKDF2-funktioner med hjälp av en pseudorandomnummergenerator baserad på HMACSHA1. Klassen Rfc2898DeriveBytes tar ett lösenord, ett salt och ett iterationsantal och genererar sedan nycklar via anrop till GetBytes metoden. Upprepade anrop till den här metoden genererar inte samma nyckel. i stället motsvarar att lägga till två anrop av GetBytes metoden med parametervärdet 20cb för metoden en gång med parametervärdet 40cb .GetBytes

Gäller för

Se även