Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

RijndaelManaged classe

 

Date de publication : novembre 2016

Accède à la version managée de le Rijndael algorithme. Cette classe ne peut pas être héritée.

Espace de noms:   System.Security.Cryptography
Assembly:  mscorlib (dans mscorlib.dll)


[ComVisibleAttribute(true)]
public sealed class RijndaelManaged : Rijndael

NomDescription
System_CAPS_pubmethodRijndaelManaged()

Initialise une nouvelle instance de la classe RijndaelManaged.

NomDescription
System_CAPS_pubpropertyBlockSize

Obtient ou définit la taille de bloc, en bits, de l'opération de chiffrement.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyFeedbackSize

Obtient ou définit la taille des commentaires, en bits, de l'opération de chiffrement.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyIV

Obtient ou définit le vecteur d'initialisation (IV) pour l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyKey

Obtient ou définit la clé secrète pour l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyKeySize

Obtient ou définit la taille, en bits, de la clé secrète utilisée par l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyLegalBlockSizes

Obtient les tailles de bloc, en octets, prises en charge par l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyLegalKeySizes

Obtient les tailles de clé, en octets, prises en charge par l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyMode

Obtient ou définit le mode de fonctionnement pour l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubpropertyPadding

Obtient ou définit le mode de remplissage utilisé dans l'algorithme symétrique.(Hérité de SymmetricAlgorithm.)

NomDescription
System_CAPS_pubmethodClear()

Libère toutes les ressources utilisées par la classe SymmetricAlgorithm.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubmethodCreateDecryptor()

Crée un objet déchiffreur symétrique avec la propriété Key et le vecteur d'initialisation (IV) actuels.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubmethodCreateDecryptor(Byte[], Byte[])

Crée un Rijndael objet déchiffreur avec la valeur Key et le vecteur d’initialisation (IV).(Remplace SymmetricAlgorithm.CreateDecryptor(Byte[], Byte[]).)

System_CAPS_pubmethodCreateEncryptor()

Crée un objet chiffreur symétrique avec la propriété Key et le vecteur d'initialisation (IV) actuels.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubmethodCreateEncryptor(Byte[], Byte[])

Crée un Rijndael objet chiffreur avec la valeur Key et le vecteur d’initialisation (IV).(Remplace SymmetricAlgorithm.CreateEncryptor(Byte[], Byte[]).)

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par l'instance actuelle de la classe SymmetricAlgorithm.(Hérité de SymmetricAlgorithm.)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodGenerateIV()

Génère un vecteur d’initialisation aléatoire (IV) à utiliser pour l’algorithme.(Remplace SymmetricAlgorithm.GenerateIV().)

System_CAPS_pubmethodGenerateKey()

Génère un aléatoire Key à utiliser pour l’algorithme.(Remplace SymmetricAlgorithm.GenerateKey().)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodValidKeySize(Int32)

Détermine si la taille de clé spécifiée est valide pour l'algorithme actuel.(Hérité de SymmetricAlgorithm.)

Cet algorithme prend en charge des longueurs de clé de 128, 192 ou 256 bits. par défaut de 256 bits. Cet algorithme prend en charge les tailles de bloc de 128, 192 ou 256 bits. valeur par défaut : 128 bits (Aes-compatibles).

Le Rijndael algorithme est le prédécesseur de Aes. Vous devez utiliser le Aes classe au lieu de RijndaelManaged. Pour plus d’informations, consultez l’entrée The Differences Between Rijndael and AES dans le blog de sécurité .NET.

L’exemple suivant montre comment chiffrer et déchiffrer les données d’exemple à l’aide la RijndaelManaged classe.

using System;
using System.IO;
using System.Security.Cryptography;

namespace RijndaelManaged_Example
{
    class RijndaelExample
    {
        public static void Main()
        {
            try
            {

                string original = "Here is some data to encrypt!";

                // Create a new instance of the RijndaelManaged
                // class.  This generates a new key and initialization 
                // vector (IV).
                using (RijndaelManaged myRijndael = new RijndaelManaged())
                {

					myRijndael.GenerateKey();
                	myRijndael.GenerateIV();
                    // Encrypt the string to an array of bytes.
                    byte[] encrypted = EncryptStringToBytes(original, myRijndael.Key, myRijndael.IV);

                    // Decrypt the bytes to a string.
                    string roundtrip = DecryptStringFromBytes(encrypted, myRijndael.Key, myRijndael.IV);

                    //Display the original data and the decrypted data.
                    Console.WriteLine("Original:   {0}", original);
                    Console.WriteLine("Round Trip: {0}", roundtrip);
                }

            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}", e.Message);
            }
        }
        static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
        {
            // Check arguments.
            if (plainText == null || plainText.Length <= 0)
                throw new ArgumentNullException("plainText");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            if (IV == null || IV.Length <= 0)
                throw new ArgumentNullException("IV");
            byte[] encrypted;
            // Create an RijndaelManaged object
            // with the specified key and IV.
            using (RijndaelManaged rijAlg = new RijndaelManaged())
            {
                rijAlg.Key = Key;
                rijAlg.IV = IV;

                // Create a decrytor to perform the stream transform.
                ICryptoTransform encryptor = rijAlg.CreateEncryptor(rijAlg.Key, rijAlg.IV);

                // Create the streams used for encryption.
                using (MemoryStream msEncrypt = new MemoryStream())
                {
                    using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                    {
                        using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                        {

                            //Write all data to the stream.
                            swEncrypt.Write(plainText);
                        }
                        encrypted = msEncrypt.ToArray();
                    }
                }
            }


            // Return the encrypted bytes from the memory stream.
            return encrypted;

        }

        static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
        {
            // Check arguments.
            if (cipherText == null || cipherText.Length <= 0)
                throw new ArgumentNullException("cipherText");
            if (Key == null || Key.Length <= 0)
                throw new ArgumentNullException("Key");
            if (IV == null || IV.Length <= 0)
                throw new ArgumentNullException("IV");

            // Declare the string used to hold
            // the decrypted text.
            string plaintext = null;

            // Create an RijndaelManaged object
            // with the specified key and IV.
            using (RijndaelManaged rijAlg = new RijndaelManaged())
            {
                rijAlg.Key = Key;
                rijAlg.IV = IV;

                // Create a decrytor to perform the stream transform.
                ICryptoTransform decryptor = rijAlg.CreateDecryptor(rijAlg.Key, rijAlg.IV);

                // Create the streams used for decryption.
                using (MemoryStream msDecrypt = new MemoryStream(cipherText))
                {
                    using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                    {
                        using (StreamReader srDecrypt = new StreamReader(csDecrypt))
                        {

                            // Read the decrypted bytes from the decrypting stream
                            // and place them in a string.
                            plaintext = srDecrypt.ReadToEnd();
                        }
                    }
                }

            }

            return plaintext;

        }
    }
}

.NET Framework
Disponible depuis 1.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: