Ler en inglés

Compartir por


ToBase64Transform Clase

Definición

Convierte CryptoStream a base 64.

C#
public class ToBase64Transform : IDisposable, System.Security.Cryptography.ICryptoTransform
C#
public class ToBase64Transform : System.Security.Cryptography.ICryptoTransform
C#
[System.Runtime.InteropServices.ComVisible(true)]
public class ToBase64Transform : System.Security.Cryptography.ICryptoTransform
Herencia
ToBase64Transform
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar miembros de la ToBase64Transform clase .

C#
using System;
using System.IO;
using System.Security.Cryptography;

class Members
{
    [STAThread]
    static void Main(string[] args)
    {
        string appPath = (System.IO.Directory.GetCurrentDirectory() + "\\");

        // Insert your file names into this method call.
        EncodeFromFile(appPath + "members.cs", appPath + "members.enc");

        Console.WriteLine("This sample completed successfully; " +
            "press Enter to exit.");
        Console.ReadLine();
    }

    // Read in the specified source file and write out an encoded target file.
    private static void EncodeFromFile(string sourceFile, string targetFile) 
    {
        // Verify members.cs exists at the specified directory.
        if (!File.Exists(sourceFile))
        {
            Console.Write("Unable to locate source file located at ");
            Console.WriteLine(sourceFile + ".");
            Console.Write("Please correct the path and run the ");
            Console.WriteLine("sample again.");
            return;
        }

        // Retrieve the input and output file streams.
        FileStream inputFileStream = 
            new FileStream(sourceFile, FileMode.Open, FileAccess.Read);
        FileStream outputFileStream = 
            new FileStream(targetFile, FileMode.Create, FileAccess.Write);

        // Create a new ToBase64Transform object to convert to base 64.
        ToBase64Transform base64Transform = new ToBase64Transform();

        // Create a new byte array with the size of the output block size.
        byte[] outputBytes = new byte[base64Transform.OutputBlockSize];

        // Retrieve the file contents into a byte array.
        byte[] inputBytes = new byte[inputFileStream.Length];
        inputFileStream.Read(inputBytes, 0, inputBytes.Length);

        // Verify that multiple blocks can not be transformed.
        if (!base64Transform.CanTransformMultipleBlocks)
        {
            // Initializie the offset size.
            int inputOffset = 0;

            // Iterate through inputBytes transforming by blockSize.
            int inputBlockSize = base64Transform.InputBlockSize;

            while(inputBytes.Length - inputOffset > inputBlockSize)
            {
                base64Transform.TransformBlock(
                    inputBytes,
                    inputOffset,
                    inputBytes.Length - inputOffset,
                    outputBytes,
                    0);

                inputOffset += base64Transform.InputBlockSize;
                outputFileStream.Write(
                    outputBytes, 
                    0, 
                    base64Transform.OutputBlockSize);
            }

            // Transform the final block of data.
            outputBytes = base64Transform.TransformFinalBlock(
                inputBytes,
                inputOffset,
                inputBytes.Length - inputOffset);

            outputFileStream.Write(outputBytes, 0, outputBytes.Length);
            Console.WriteLine("Created encoded file at " + targetFile);
        }

        // Determine if the current transform can be reused.
        if (!base64Transform.CanReuseTransform)
        {
            // Free up any used resources.
            base64Transform.Clear();
        }

        // Close file streams.
        inputFileStream.Close();
        outputFileStream.Close();
    }
}
//
// This sample produces the following output:
//
// Created encoded file at C:\ConsoleApplication1\\membersvcs.enc
// This sample completed successfully; press Enter to exit.

Comentarios

La codificación de transferencia de contenido de base 64 representa secuencias de bits arbitrarias en un formulario que no es legible por humanos.

Constructores

ToBase64Transform()

Inicializa una nueva instancia de la clase ToBase64Transform.

Propiedades

CanReuseTransform

Obtiene un valor que indica si la transformación actual puede volver a usarse.

CanTransformMultipleBlocks

Obtiene un valor que indica si se pueden transformar varios bloques.

InputBlockSize

Obtiene el tamaño del bloque de entrada.

OutputBlockSize

Obtiene el tamaño del bloque de salida.

Métodos

Clear()

Libera todos los recursos que usa ToBase64Transform.

Dispose()

Libera todos los recursos usados por la instancia actual de la clase ToBase64Transform.

Dispose(Boolean)

Libera los recursos no administrados que usa ToBase64Transform y, de forma opcional, libera los recursos administrados.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
Finalize()

Libera los recursos no administrados que ToBase64Transform usa.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Convierte la región especificada de la matriz de bytes de entrada a base 64 y copia el resultado en la región especificada de la matriz de bytes de salida.

TransformFinalBlock(Byte[], Int32, Int32)

Convierte la región especificada de la matriz de bytes establecida a base 64.

Implementaciones de interfaz explícitas

IDisposable.Dispose()

Libera los recursos no administrados que ToBase64Transform usa.

Se aplica a

Produto Versións
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

Consulte también