Rfc2898DeriveBytes.GetBytes(Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan kunci pseudo-random untuk objek ini.
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
Jumlah byte kunci pseudo-random yang akan dihasilkan.
Mengembalikan
Array byte yang diisi dengan byte kunci pseudo-random.
Pengecualian
cb
berada di luar jangkauan. Parameter ini memerlukan angka non-negatif.
Contoh
Contoh berikut menunjukkan cara menggunakan GetBytes metode untuk mendapatkan kunci untuk instans Rfc2898DeriveBytes. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk Rfc2898DeriveBytes kelas .
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)
Keterangan
Kelas mengimplementasikan Rfc2898DeriveBytes fungsionalitas PBKDF2 dengan menggunakan generator nomor pseudorandom berdasarkan HMACSHA1. Kelas Rfc2898DeriveBytes mengambil kata sandi, garam, dan jumlah perulangan, lalu menghasilkan kunci melalui panggilan ke GetBytes metode . Panggilan berulang ke metode ini tidak akan menghasilkan kunci yang sama; sebaliknya, menambahkan dua panggilan GetBytes metode dengan cb
nilai 20
parameter setara dengan memanggil GetBytes metode sekali dengan cb
nilai 40
parameter .