FromBase64Transform Class

 

Converts a CryptoStream from base 64.

Namespace:   System.Security.Cryptography
Assembly:  mscorlib (in mscorlib.dll)

System::Object
  System.Security.Cryptography::FromBase64Transform

[ComVisibleAttribute(true)]
public ref class FromBase64Transform : ICryptoTransform, IDisposable

NameDescription
System_CAPS_pubmethodFromBase64Transform()

Initializes a new instance of the FromBase64Transform class.

System_CAPS_pubmethodFromBase64Transform(FromBase64TransformMode)

Initializes a new instance of the FromBase64Transform class with the specified transformation mode.

NameDescription
System_CAPS_pubpropertyCanReuseTransform

Gets a value indicating whether the current transform can be reused.

System_CAPS_pubpropertyCanTransformMultipleBlocks

Gets a value that indicates whether multiple blocks can be transformed.

System_CAPS_pubpropertyInputBlockSize

Gets the input block size.

System_CAPS_pubpropertyOutputBlockSize

Gets the output block size.

NameDescription
System_CAPS_pubmethodClear()

Releases all resources used by the FromBase64Transform.

System_CAPS_pubmethodDispose()

Releases all resources used by the current instance of the FromBase64Transform class.

System_CAPS_protmethodDispose(Boolean)

Releases the unmanaged resources used by the FromBase64Transform and optionally releases the managed resources.

System_CAPS_pubmethodEquals(Object^)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodFinalize()

Releases the unmanaged resources used by the FromBase64Transform.(Overrides Object::Finalize().)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_pubmethodToString()

Returns a string that represents the current object.(Inherited from Object.)

System_CAPS_pubmethodTransformBlock(array<Byte>^, Int32, Int32, array<Byte>^, Int32)

Converts the specified region of the input byte array from base 64 and copies the result to the specified region of the output byte array.

System_CAPS_pubmethodTransformFinalBlock(array<Byte>^, Int32, Int32)

Converts the specified region of the specified byte array from base 64.

Base 64 Content-Transfer-Encoding represents arbitrary bit sequences in a form that is not human readable.

The following example decodes a base 64-encoded file to an output text file.

using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;
class MyMainClass
{
public:
   static void DecodeFromFile( String^ inFileName, String^ outFileName )
   {
      FromBase64Transform^ myTransform = gcnew FromBase64Transform( FromBase64TransformMode::IgnoreWhiteSpaces );
      array<Byte>^myOutputBytes = gcnew array<Byte>(myTransform->OutputBlockSize);

      //Open the input and output files.
      FileStream^ myInputFile = gcnew FileStream( inFileName,FileMode::Open,FileAccess::Read );
      FileStream^ myOutputFile = gcnew FileStream( outFileName,FileMode::Create,FileAccess::Write );

      //Retrieve the file contents into a Byte array.
      array<Byte>^myInputBytes = gcnew array<Byte>(myInputFile->Length);
      myInputFile->Read( myInputBytes, 0, myInputBytes->Length );

      //Transform the data in chunks the size of InputBlockSize.
      int i = 0;
      while ( myInputBytes->Length - i > 4 )
      {
         myTransform->TransformBlock( myInputBytes, i, 4, myOutputBytes, 0 );

         /*myTransform->InputBlockSize*/
         i += 4;

         /*myTransform->InputBlockSize*/
         myOutputFile->Write( myOutputBytes, 0, myTransform->OutputBlockSize );
      }


      //Transform the final block of data.
      myOutputBytes = myTransform->TransformFinalBlock( myInputBytes, i, myInputBytes->Length - i );
      myOutputFile->Write( myOutputBytes, 0, myOutputBytes->Length );

      //Free up any used resources.
      myTransform->Clear();
      myInputFile->Close();
      myOutputFile->Close();
   }

};

int main()
{
   MyMainClass * m = new MyMainClass;

   //Insert your file names into this method call.
   m->DecodeFromFile(  "c:\\encoded.txt",  "c:\\roundtrip.txt" );
}

.NET Framework
Available since 1.1

Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
Show: