Rfc2898DeriveBytes.GetBytes(Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このオブジェクトの擬似ランダム キーを返します。
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()
パラメーター
- cb
- Int32
生成する擬似ランダム キー バイトの数。
戻り値
Byte[]
擬似ランダム キー バイトを格納したバイト配列。
例外
cb
が範囲外です。 このパラメーターには、負数以外を指定する必要があります。
例
次の例では、 メソッドを使用して の GetBytes インスタンス Rfc2898DeriveBytesのキーを取得する方法を示します。 このコード例は、Rfc2898DeriveBytes クラスのために提供されている大規模な例の一部です。
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)
注釈
クラスは Rfc2898DeriveBytes 、 に基づく擬似乱数ジェネレーターを使用して PBKDF2 機能を HMACSHA1実装します。 クラスは Rfc2898DeriveBytes 、パスワード、salt、反復回数を受け取り、 メソッドの呼び出しを通じてキーを GetBytes 生成します。 このメソッドを繰り返し呼び出すと、同じキーは生成されません。代わりに、パラメーター値 が のメソッドの GetBytes 2 つの呼び出しをcb
追加することは、パラメーター値 20
40
が のメソッドを GetBytes 1 回呼び出すこととcb
同じです。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET