<Type Name="MD2CryptoServiceProvider" FullName="Mono.Security.Cryptography.MD2CryptoServiceProvider">
  <TypeSignature Language="C#" Value="public class MD2CryptoServiceProvider : Mono.Security.Cryptography.MD2, ICryptoTransform, IDisposable" Maintainer="auto" />
  <AssemblyInfo>
    <AssemblyName>Mono.Security.Win32</AssemblyName>
    <AssemblyPublicKey>[00 24 00 00 04 80 00 00 94 00 00 00 06 02 00 00 00 24 00 00 52 53 41 31 00 04 00 00 01 00 01 00 79 15 99 77 D2 D0 3A 8E 6B EA 7A 2E 74 E8 D1 AF CC 93 E8 85 19 74 95 2B B4 80 A1 2C 91 34 47 4D 04 06 24 47 C3 7E 0E 68 C0 80 53 6F CF 3C 3F BE 2F F9 C9 79 CE 99 84 75 E5 06 E8 CE 82 DD 5B 0F 35 0D C1 0E 93 BF 2E EE CF 87 4B 24 77 0C 50 81 DB EA 74 47 FD DA FA 27 7B 22 DE 47 D6 FF EA 44 96 74 A4 F9 FC CF 84 D1 50 69 08 93 80 28 4D BD D3 5F 46 CD FF 12 A1 BD 78 E4 EF 00 65 D0 16 DF]</AssemblyPublicKey>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyCulture>neutral</AssemblyCulture>
    <Attributes>
      <Attribute>
        <AttributeName>System.Security.Permissions.SecurityPermissionAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.NeutralResourcesLanguageAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Runtime.InteropServices.ComVisibleAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.CLSCompliantAttribute</AttributeName>
      </Attribute>
      <Attribute>
        <AttributeName>System.Resources.SatelliteContractVersionAttribute</AttributeName>
      </Attribute>
    </Attributes>
  </AssemblyInfo>
  <ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
  <Docs>
    <summary>Provides access to the unmanaged implementation of the MD2 cryptographic hash function in CryptoAPI.</summary>
    <remarks>
      <para>WARNING: The MD2 algorithm hasn't been broken but is no more considered safe for newer design. It is included in Mono.Security for compatibility reasons as older, but still valid, root certificates are signed using an MD2 hash.</para>
      <para>The MD2 algorithm is detailled in the IETF RFC 1319 "The MD2 Message-Digest Algorithm", available at http://www.ietf.org/rfc/rfc1319.txt</para>
      <para>This class is part of the Mono.Security.Win32.dll assembly. This assembly provides a managed wrapper aound the unmanaged CryptoAPI. As such the assembly will only work on Windows operating system providing CryptoAPI.</para>
    </remarks>
  </Docs>
  <Base>
    <BaseTypeName>Mono.Security.Cryptography.MD2</BaseTypeName>
  </Base>
  <Interfaces>
    <Interface>
      <InterfaceName>System.Security.Cryptography.ICryptoTransform</InterfaceName>
    </Interface>
    <Interface>
      <InterfaceName>System.IDisposable</InterfaceName>
    </Interface>
  </Interfaces>
  <Attributes />
  <Members>
    <Member MemberName="Finalize">
      <MemberSignature Language="C#" Value="protected override void Finalize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>To be added</summary>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="Initialize">
      <MemberSignature Language="C#" Value="public override void Initialize ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>Resets the class after use.</summary>
        <remarks> Called automatically after hashing is done.</remarks>
      </Docs>
    </Member>
    <Member MemberName="Dispose">
      <MemberSignature Language="C#" Value="protected override void Dispose (bool disposing);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="disposing" Type="System.Boolean" />
      </Parameters>
      <Docs>
        <summary>Release the unmanaged resources held by the class. </summary>
        <param name="disposing">a <see cref="T:System.Boolean" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="HashCore">
      <MemberSignature Language="C#" Value="protected override void HashCore (byte [] rgb, int ibStart, int cbSize);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Void</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="rgb" Type="System.Byte[]" />
        <Parameter Name="ibStart" Type="System.Int32" />
        <Parameter Name="cbSize" Type="System.Int32" />
      </Parameters>
      <Docs>
        <summary>Drives the hashing function.</summary>
        <param name="rgb">Byte array containing the data to hash.</param>
        <param name="ibStart">Where in the input buffer to start.</param>
        <param name="cbSize">a <see cref="T:System.Int32" /></param>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName="HashFinal">
      <MemberSignature Language="C#" Value="protected override byte [] HashFinal ();" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.Byte[]</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <summary>This finalizes the hash. Takes the data from the chaining variables and returns it.</summary>
        <returns>a <see cref="T:System.Byte[]" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="C#" Value="public MD2CryptoServiceProvider ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Creates a new CryptoAPI-based instance to hash data using the MD2 algorithm.</summary>
        <returns>a <see cref="T:Mono.Security.Cryptography.MD2CryptoServiceProvider" /></returns>
        <remarks>To be added</remarks>
      </Docs>
    </Member>
  </Members>
</Type>