Rfc2898DeriveBytes.GetBytes(Int32) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve a chave pseudo-aleatória para este objeto.
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()
Parâmetros
- cb
- Int32
O número de bytes de chave pseudo-aleatórios a gerar.
Devoluções
Um array de bytes preenchido com bytes de chave pseudo-aleatórios.
Exceções
cb está fora do alcance. Este parâmetro requer um número não negativo.
Exemplos
O exemplo seguinte mostra como usar o GetBytes método para obter a chave para uma instância de Rfc2898DeriveBytes. Este exemplo de código faz parte de um exemplo maior fornecido para a Rfc2898DeriveBytes classe.
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)
Observações
A Rfc2898DeriveBytes classe implementa funcionalidades PBKDF2 utilizando um gerador de números pseudoaleatórios baseado em HMACSHA1. A Rfc2898DeriveBytes classe recebe uma palavra-passe, um sal e uma contagem de iterações, e depois gera chaves através de chamadas ao GetBytes método. Chamadas repetidas a este método não geram a mesma chave; em vez disso, adicionar duas chamadas ao GetBytes método com um cb valor de parâmetro é 20 o equivalente a chamar o GetBytes método uma vez com um cb valor de parâmetro .40