﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ICryptoTransform" FullName="System.Security.Cryptography.ICryptoTransform"><TypeSignature Maintainer="auto" Language="C#" Value="public interface ICryptoTransform : IDisposable" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract ICryptoTransform implements class System.IDisposable" /><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><Interfaces><Interface><InterfaceName>System.IDisposable</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Hash algorithms are an example of cryptographic transformations (<see cref="T:System.Security.Cryptography.HashAlgorithm" />).</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Defines the basic operations of cryptographic transformations.</para></summary></Docs><Members><Member MemberName="CanReuseTransform"><MemberSignature Language="C#" Value="public bool CanReuseTransform { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool CanReuseTransform" /><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.Boolean</ReturnType></ReturnValue><Docs><value>True if the transform can be reused. False if a new transform must be created for a new operation.</value><remarks>You should never assume that a specific algorithm can be reused without checking this property. A cryptographic implementation can be changed by modifying the machine.config file and by using, directly or indirectly, the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. The new implementation could behave differently than the old one.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether the current transform can be reused.</para></summary></Docs></Member><Member MemberName="CanTransformMultipleBlocks"><MemberSignature Language="C#" Value="public bool CanTransformMultipleBlocks { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool CanTransformMultipleBlocks" /><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.Boolean</ReturnType></ReturnValue><Docs><value>True if a single call to either <see cref="M:System.Security.Cryptography.HashAlgorithm.TransformBlock" /> or <see cref="M:System.Security.Cryptography.HashAlgorithm.TransformFinalBlock" /> can process more than one block at the time. False if the data must be processed block per block.</value><remarks>You should never assume that a specific algorithm can transform multiple blocks without checking this property. A cryptographic implementation can be changed by modifying the machine.config file and by using, directly or indirectly, the <see cref="T:System.Security.Cryptography.CryptoConfig" /> class. The new implementation could behave differently than the old one.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether multiple blocks can be transformed.</para></summary></Docs></Member><Member MemberName="InputBlockSize"><MemberSignature Language="C#" Value="public int InputBlockSize { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 InputBlockSize" /><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>To be added: an object of type 'int'</value><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the input block size.</para></summary></Docs></Member><Member MemberName="OutputBlockSize"><MemberSignature Language="C#" Value="public int OutputBlockSize { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 OutputBlockSize" /><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>To be added: an object of type 'int'</value><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the output block size.</para></summary></Docs></Member><Member MemberName="TransformBlock"><MemberSignature Language="C#" Value="public int TransformBlock (byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance int32 TransformBlock(unsigned int8[] inputBuffer, int32 inputOffset, int32 inputCount, unsigned int8[] outputBuffer, int32 outputOffset) 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.Int32</ReturnType></ReturnValue><Parameters><Parameter Name="inputBuffer" Type="System.Byte[]" /><Parameter Name="inputOffset" Type="System.Int32" /><Parameter Name="inputCount" Type="System.Int32" /><Parameter Name="outputBuffer" Type="System.Byte[]" /><Parameter Name="outputOffset" Type="System.Int32" /></Parameters><Docs><remarks>To be added</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Transforms the specified region of the input byte array and copies the resulting transform to the specified region of the output byte array.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The number of bytes written.</para></returns><param name="inputBuffer"><attribution license="cc4" from="Microsoft" modified="false" />The input for which to compute the transform. </param><param name="inputOffset"><attribution license="cc4" from="Microsoft" modified="false" />The offset into the input byte array from which to begin using data. </param><param name="inputCount"><attribution license="cc4" from="Microsoft" modified="false" />The number of bytes in the input byte array to use as data. </param><param name="outputBuffer"><attribution license="cc4" from="Microsoft" modified="false" />The output to which to write the transform. </param><param name="outputOffset"><attribution license="cc4" from="Microsoft" modified="false" />The offset into the output byte array from which to begin writing data. </param></Docs></Member><Member MemberName="TransformFinalBlock"><MemberSignature Language="C#" Value="public byte[] TransformFinalBlock (byte[] inputBuffer, int inputOffset, int inputCount);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance unsigned int8[] TransformFinalBlock(unsigned int8[] inputBuffer, int32 inputOffset, int32 inputCount) 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="inputBuffer" Type="System.Byte[]" /><Parameter Name="inputOffset" Type="System.Int32" /><Parameter Name="inputCount" Type="System.Int32" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Security.Cryptography.ICryptoTransform.TransformFinalBlock(System.Byte[],System.Int32,System.Int32)" /> is a special function for transforming the last block or a partial block in the stream. It returns a new array that contains the remaining transformed bytes. A new array is returned, because the amount of information returned at the end might be larger than a single block when padding is added.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Transforms the specified region of the specified byte array.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The computed transform.</para></returns><param name="inputBuffer"><attribution license="cc4" from="Microsoft" modified="false" />The input for which to compute the transform. </param><param name="inputOffset"><attribution license="cc4" from="Microsoft" modified="false" />The offset into the byte array from which to begin using data. </param><param name="inputCount"><attribution license="cc4" from="Microsoft" modified="false" />The number of bytes in the byte array to use as data. </param></Docs></Member></Members></Type>