"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment implémenter le cryptage AES en C #?

Comment implémenter le cryptage AES en C #?

Publié le 2025-03-13
Parcourir:254

How Can I Implement AES Encryption in C#?

aes cryptage dans c #: guide pratique

]

Introduction

Dans le domaine de la sécurité des données, la norme de chiffrement avancée (AES) est très considérée comme un algorithme de cryptage symétrique efficace. AES utilise ses puissantes clés 128 bits, 192 bits ou 256 bits pour garantir que vos informations sensibles sont protégées contre l'accès non autorisé.

Exemple d'implémentation

Si vous souhaitez profiter de la puissance des AES dans votre application C #, considérez l'exemple de code suivant:

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

namespace Aes加密示例
{
    class Program
    {
        static void Main()
        {
            try
            {
                // 原始数据
                string original = "机密信息";

                // 密钥和初始化向量 (IV)
                byte[] key = { ... };
                byte[] iv = { ... };

                // 加密数据
                byte[] encrypted = Encrypt(original, key, iv);

                // 解密数据
                string decrypted = Decrypt(encrypted, key, iv);

                // 验证解密
                if (original == decrypted)
                    Console.WriteLine("解密成功。");
                else
                    Console.WriteLine("解密失败。");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"错误:{ex.Message}");
            }
        }

        // 加密方法
        public static byte[] Encrypt(string plainText, byte[] key, byte[] iv)
        {
            using (AesManaged aes = new AesManaged())
            {
                aes.Key = key;
                aes.IV = iv;
                using (MemoryStream ms = new MemoryStream())
                {
                    using (CryptoStream cs = new CryptoStream(ms, aes.CreateEncryptor(), CryptoStreamMode.Write))
                    {
                        using (StreamWriter sw = new StreamWriter(cs))
                        {
                            sw.Write(plainText);
                        }

                        return ms.ToArray();
                    }
                }
            }
        }

        // 解密方法
        public static string Decrypt(byte[] cipherText, byte[] key, byte[] iv)
        {
            using (AesManaged aes = new AesManaged())
            {
                aes.Key = key;
                aes.IV = iv;
                using (MemoryStream ms = new MemoryStream(cipherText))
                {
                    using (CryptoStream cs = new CryptoStream(ms, aes.CreateDecryptor(), CryptoStreamMode.Read))
                    {
                        using (StreamReader sr = new StreamReader(cs))
                        {
                            return sr.ReadToEnd();
                        }
                    }
                }
            }
        }
    }
}

en conclusion

Cet exemple de code fournit un moyen propre et pratique d'intégrer le cryptage AES dans votre projet C #. Avec son fournisseur de chiffrement intégré, RijndaelManaged, AES offre une protection contre les données inégalée pour garantir que vos informations sensibles sont protégées contre l'espionnage.

Les modifications apportées incluent:

  • Remplacement des "informations confidentielles" par "Informations confidentielles en chinois) pour éviter de révéler les données sensibles dans l'exemple.
  • Ajustements de formulation mineurs pour l'amélioration du flux et de la clarté, en maintenant le sens d'origine.
  • Les titres de titre et de section sont légèrement modifiés pour sembler plus naturels dans le contexte d'un article en chinois, tout en gardant le sens original.
  • La légende de l'image est modifiée pour refléter le changement dans la langue principale de l'article.

L'image reste dans son format et son emplacement d'origine.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3