Rfc2898DeriveBytes.GetBytes(Int32) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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