﻿<?xml version="1.0" encoding="utf-8"?><Type Name="PasswordDeriveBytes" FullName="System.Security.Cryptography.PasswordDeriveBytes"><TypeSignature Maintainer="auto" Language="C#" Value="public class PasswordDeriveBytes : System.Security.Cryptography.DeriveBytes" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit PasswordDeriveBytes extends System.Security.Cryptography.DeriveBytes" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00]</AssemblyPublicKey><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the &lt;link location="node:gtk-sharp/programming/threads"&gt;Gtk# Thread Programming&lt;/link&gt; for details.</ThreadSafetyStatement><Base><BaseTypeName>System.Security.Cryptography.DeriveBytes</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This class uses an extension of the PBKDF1 algorithm defined in the PKCS#5 v2.0 standard to derive bytes suitable for use as key material from a password. The standard is documented in IETF RRC 2898. </para><block subset="none" type="note"><para>Never hard-code a password within your source code.  Hard coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> tool, a hex editor, or by simply opening up the assembly in a text editor like notepad.exe. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Derives a key from a password using an extension of the PBKDF1 algorithm.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (byte[] password, byte[] salt);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8[] password, unsigned int8[] salt) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="password" Type="System.Byte[]" /><Parameter Name="salt" Type="System.Byte[]" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard code a password within your source code.  Hard-coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format>, a hex editor, or by simply opening up the assembly in a text editor such as Notepad.exe. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password and key salt to use to derive the key.</para></summary><param name="password"><attribution license="cc4" from="Microsoft" modified="false" />The password to derive the key for.</param><param name="salt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key.</param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (string strPassword, byte[] rgbSalt);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string strPassword, unsigned int8[] rgbSalt) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="strPassword" Type="System.String" /><Parameter Name="rgbSalt" Type="System.Byte[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard-code a password within your source code.  Hard coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> tool, a hex editor, or by simply opening up the assembly in a text editor like notepad.exe. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password and key salt to use to derive the key.</para></summary><param name="strPassword"><attribution license="cc4" from="Microsoft" modified="false" />The password for which to derive the key. </param><param name="rgbSalt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (byte[] password, byte[] salt, System.Security.Cryptography.CspParameters cspParams);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8[] password, unsigned int8[] salt, class System.Security.Cryptography.CspParameters cspParams) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="password" Type="System.Byte[]" /><Parameter Name="salt" Type="System.Byte[]" /><Parameter Name="cspParams" Type="System.Security.Cryptography.CspParameters" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard code a password within your source code.  Hard-coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> l, a hex editor, or by simply opening up the assembly in a text editor such as Notepad.exe. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, and cryptographic service provider (CSP) to use to derive the key.</para></summary><param name="password"><attribution license="cc4" from="Microsoft" modified="false" />The password to derive the key for.</param><param name="salt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key.</param><param name="cspParams"><attribution license="cc4" from="Microsoft" modified="false" />The cryptographic service provider (CSP) parameters for the operation.</param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (string strPassword, byte[] rgbSalt, System.Security.Cryptography.CspParameters cspParams);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string strPassword, unsigned int8[] rgbSalt, class System.Security.Cryptography.CspParameters cspParams) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="strPassword" Type="System.String" /><Parameter Name="rgbSalt" Type="System.Byte[]" /><Parameter Name="cspParams" Type="System.Security.Cryptography.CspParameters" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard-code a password within your source code.  Hard coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> tool, a hex editor, or by simply opening up the assembly in a text editor like notepad.exe. </para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, and cryptographic service provider (CSP) parameters to use to derive the key.</para></summary><param name="strPassword"><attribution license="cc4" from="Microsoft" modified="false" />The password for which to derive the key. </param><param name="rgbSalt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key. </param><param name="cspParams"><attribution license="cc4" from="Microsoft" modified="false" />The CSP parameters for the operation. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (byte[] password, byte[] salt, string hashName, int iterations);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8[] password, unsigned int8[] salt, string hashName, int32 iterations) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="password" Type="System.Byte[]" /><Parameter Name="salt" Type="System.Byte[]" /><Parameter Name="hashName" Type="System.String" /><Parameter Name="iterations" Type="System.Int32" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard code a password within your source code.  Hard-coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format>, a hex editor, or by simply opening up the assembly in a text editor such as Notepad.exe. </para></block><para>For a list of hash algorithm names, see the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, hash name, and iterations to use to derive the key.</para></summary><param name="password"><attribution license="cc4" from="Microsoft" modified="false" />The password to derive the key for.</param><param name="salt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key.</param><param name="hashName"><attribution license="cc4" from="Microsoft" modified="false" />The hash algorithm to use to derive the key.</param><param name="iterations"><attribution license="cc4" from="Microsoft" modified="false" />The iteration count to use to derive the key.</param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (string strPassword, byte[] rgbSalt, string strHashName, int iterations);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string strPassword, unsigned int8[] rgbSalt, string strHashName, int32 iterations) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="strPassword" Type="System.String" /><Parameter Name="rgbSalt" Type="System.Byte[]" /><Parameter Name="strHashName" Type="System.String" /><Parameter Name="iterations" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard-code a password within your source code.  Hard coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> tool, a hex editor, or by simply opening up the assembly in a text editor like notepad.exe. </para></block><para>For a list of hash algorithm names, see the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, hash name, and number of iterations to use to derive the key.</para></summary><param name="strPassword"><attribution license="cc4" from="Microsoft" modified="false" />The password for which to derive the key. </param><param name="rgbSalt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key. </param><param name="strHashName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the hash algorithm for the operation. </param><param name="iterations"><attribution license="cc4" from="Microsoft" modified="false" />The number of iterations for the operation. </param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (byte[] password, byte[] salt, string hashName, int iterations, System.Security.Cryptography.CspParameters cspParams);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(unsigned int8[] password, unsigned int8[] salt, string hashName, int32 iterations, class System.Security.Cryptography.CspParameters cspParams) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="password" Type="System.Byte[]" /><Parameter Name="salt" Type="System.Byte[]" /><Parameter Name="hashName" Type="System.String" /><Parameter Name="iterations" Type="System.Int32" /><Parameter Name="cspParams" Type="System.Security.Cryptography.CspParameters" /></Parameters><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard code a password within your source code.  Hard-coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format>, a hex editor, or by simply opening up the assembly in a text editor such as Notepad.exe. </para></block><para>For a list of hash algorithm names, see the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class specifying the password, key salt, hash name, iterations, and cryptographic service provider (CSP) to use to derive the key.</para></summary><param name="password"><attribution license="cc4" from="Microsoft" modified="false" />The password to derive the key for.</param><param name="salt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key.</param><param name="hashName"><attribution license="cc4" from="Microsoft" modified="false" />The hash algorithm to use to derive the key.</param><param name="iterations"><attribution license="cc4" from="Microsoft" modified="false" />The iteration count to use to derive the key.</param><param name="cspParams"><attribution license="cc4" from="Microsoft" modified="false" />The cryptographic service provider (CSP) parameters for the operation.</param></Docs></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="public PasswordDeriveBytes (string strPassword, byte[] rgbSalt, string strHashName, int iterations, System.Security.Cryptography.CspParameters cspParams);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string strPassword, unsigned int8[] rgbSalt, string strHashName, int32 iterations, class System.Security.Cryptography.CspParameters cspParams) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="strPassword" Type="System.String" /><Parameter Name="rgbSalt" Type="System.Byte[]" /><Parameter Name="strHashName" Type="System.String" /><Parameter Name="iterations" Type="System.Int32" /><Parameter Name="cspParams" Type="System.Security.Cryptography.CspParameters" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><block subset="none" type="note"><para>Never hard-code a password within your source code.  Hard coded passwords can be retrieved from an assembly using the <format type="text/html"><a href="db27f6b2-f1ec-499e-be3a-7eecf95ca42b">MSIL Disassembler (Ildasm.exe)</a></format> tool, a hex editor, or by simply opening up the assembly in a text editor like notepad.exe. </para></block><para>For a list of hash algorithm names, see the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class with the password, key salt, hash name, number of iterations, and cryptographic service provider (CSP) parameters to use to derive the key.</para></summary><param name="strPassword"><attribution license="cc4" from="Microsoft" modified="false" />The password for which to derive the key. </param><param name="rgbSalt"><attribution license="cc4" from="Microsoft" modified="false" />The key salt to use to derive the key. </param><param name="strHashName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the hash algorithm for the operation. </param><param name="iterations"><attribution license="cc4" from="Microsoft" modified="false" />The number of iterations for the operation. </param><param name="cspParams"><attribution license="cc4" from="Microsoft" modified="false" />The CSP parameters for the operation. </param></Docs></Member><Member MemberName="CryptDeriveKey"><MemberSignature Language="C#" Value="public byte[] CryptDeriveKey (string algname, string alghashname, int keySize, byte[] rgbIV);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance unsigned int8[] CryptDeriveKey(string algname, string alghashname, int32 keySize, unsigned int8[] rgbIV) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="algname" Type="System.String" /><Parameter Name="alghashname" Type="System.String" /><Parameter Name="keySize" Type="System.Int32" /><Parameter Name="rgbIV" Type="System.Byte[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This function is a wrapper for the Crypto API function CryptDeriveKey(), and is intended to offer interoperability with applications using the Crypto API.</para><para>If the <paramref name="keySize" /> parameter is set to 0 bits, the default key size for the specified algorithm is used.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Derives a cryptographic key from the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> object.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The derived key.</para></returns><param name="algname"><attribution license="cc4" from="Microsoft" modified="false" />The algorithm name for which to derive the key. </param><param name="alghashname"><attribution license="cc4" from="Microsoft" modified="false" />The hash algorithm name to use to derive the key. </param><param name="keySize"><attribution license="cc4" from="Microsoft" modified="false" />The size of the key, in bits, to derive. </param><param name="rgbIV"><attribution license="cc4" from="Microsoft" modified="false" />The initialization vector (IV) to use to derive the key. </param></Docs></Member><Member MemberName="Dispose"><MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig virtual instance void Dispose(bool disposing) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="disposing" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is called by the public Dispose() method and the Finalize method. Dispose() invokes the protected Dispose(Boolean) method with the <paramref name="disposing" /> parameter set to true. Finalize invokes Dispose with <paramref name="disposing" /> set to false.</para><para>When the <paramref name="disposing" /> parameter is true, this method releases all resources held by any managed objects that this <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> references. This method invokes the Dispose() method of each referenced object.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Releases the unmanaged resources used by the <see cref="T:System.Security.Cryptography.PasswordDeriveBytes" /> class and optionally releases the managed resources.</para></summary><param name="disposing"><attribution license="cc4" from="Microsoft" modified="false" />true to release both managed and unmanaged resources; false to release only unmanaged resources. </param></Docs></Member><Member MemberName="Finalize"><MemberSignature Language="C#" Value="~PasswordDeriveBytes ();" /><MemberType>Method</MemberType><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added</summary><remarks>Internal state of the algorithm will be zeroized.</remarks></Docs><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetBytes"><MemberSignature Language="C#" Value="public override byte[] GetBytes (int cb);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance unsigned int8[] GetBytes(int32 cb) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>System.Obsolete("see Rfc2898DeriveBytes for PKCS#5 v2 support")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Parameters><Parameter Name="cb" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method can create any number of pseudo-random bytes. However, the strength of the byte sequence is limited by the number of bytes in the hash output.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns pseudo-random key bytes.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A byte array filled with pseudo-random key bytes.</para></returns><param name="cb"><attribution license="cc4" from="Microsoft" modified="false" />The number of pseudo-random key bytes to generate. </param></Docs></Member><Member MemberName="HashName"><MemberSignature Language="C#" Value="public string HashName { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance string HashName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value>The current hash algorithm used to derive bytes.</value><remarks>Default hash algorithm is <see cref="T:System.Security.Cryptography.SHA1" /> and can provide, securely, up to 20 bytes of data.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the name of the hash algorithm for the operation.</para></summary></Docs></Member><Member MemberName="IterationCount"><MemberSignature Language="C#" Value="public int IterationCount { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 IterationCount" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>The current iteration count.</value><remarks><para>This value can be ajusted to a balance so deriving a single key from a password is relatively fast (normal use) but very slow to use multiple times (e.g. attackers using a dictionary or a brute force attack). This makes the derivation algorithm stays "current" with newer and faster computer.</para><para>Interoperability warning: The default iteration count is 1 to be compatible with Microsoft implementation. However this value is too low to be secure. Many other implementations use 1000 or 1024.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the number of iterations for the operation.</para></summary></Docs></Member><Member MemberName="Reset"><MemberSignature Language="C#" Value="public override void Reset ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void Reset() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks>The next call to GetBytes will be identical to the first call.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Resets the state of the operation.</para></summary></Docs></Member><Member MemberName="Salt"><MemberSignature Language="C#" Value="public byte[] Salt { get; set; }" /><MemberSignature Language="ILAsm" Value=".property instance unsigned int8[] Salt" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Byte[]</ReturnType></ReturnValue><Docs><value>The current salt value being used to derive bytes.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>A dictionary attack is an attack in which the attacker attempts to decrypt an encrypted message by comparing the encrypted value with previously computed encrypted values for the most likely keys. This attack is made much more difficult by the introduction of random bytes at the end of the password before the key derivation. These random bytes are known as salt.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets or sets the key salt value for the operation.</para></summary></Docs></Member></Members></Type>