Lire en anglais

Partager via


ToBase64Transform Classe

Définition

Convertit un CryptoStream en 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
Héritage
ToBase64Transform
Attributs
Implémente

Exemples

L’exemple de code suivant montre comment utiliser les membres de la ToBase64Transform classe .

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.

Remarques

La base 64 Content-Transfer-Encoding représente des séquences de bits arbitraires dans un formulaire qui n’est pas lisible par l’homme.

Constructeurs

ToBase64Transform()

Initialise une nouvelle instance de la classe ToBase64Transform.

Propriétés

CanReuseTransform

Obtient une valeur indiquant si la transformation actuelle peut être réutilisée.

CanTransformMultipleBlocks

Obtient une valeur qui indique si plusieurs blocs peuvent être transformés.

InputBlockSize

Obtient la taille du bloc d'entrée.

OutputBlockSize

Obtient la taille du bloc de sortie.

Méthodes

Clear()

Libère toutes les ressources utilisées par ToBase64Transform.

Dispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe ToBase64Transform.

Dispose(Boolean)

Libère les ressources non managées utilisées par ToBase64Transform et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Finalize()

Libère toutes les ressources non managées utilisées par ToBase64Transform.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Convertit la région spécifiée du tableau d'octets d'entrée en base 64 et copie le résultat dans la région spécifiée du tableau d'octets de sortie.

TransformFinalBlock(Byte[], Int32, Int32)

Convertit la région spécifiée du tableau d'octets spécifié en base 64.

Implémentations d’interfaces explicites

IDisposable.Dispose()

Libère toutes les ressources non managées utilisées par ToBase64Transform.

S’applique à

Produit Versions
.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

Voir aussi