Maison > développement back-end > C++ > Comment puis-je implémenter le cryptage AES en C #?

Comment puis-je implémenter le cryptage AES en C #?

Patricia Arquette
Libérer: 2025-01-28 20:16:08
original
807 Les gens l'ont consulté

How Can I Implement AES Encryption in C#?

AES Cryptage en C #: Guide pratique

Introduction

Dans le domaine de la sécurité des données, les normes de chiffrement de haut niveau (AE) sont très respectées en tant que algorithme de chiffrement symétrique efficace. AES utilise sa puissante clé 128-bits, 192-bits ou 256-bits pour vous assurer que vos informations sensibles sont évitées à partir d'un accès non autorisé.

Exemple d'implémentation

Si vous souhaitez utiliser les fonctionnalités puissantes d'AES dans l'application C #, veuillez considérer l'exemple de code suivant:

Conclusion

<code class="language-csharp">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();
                        }
                    }
                }
            }
        }
    }
}</code>
Copier après la connexion
Cet exemple de code fournit une méthode simple et pratique, qui peut intégrer le cryptage AES dans votre projet C #. Avec son fournisseur de chiffrement construit Rijndaelmanaged, AES offre une protection de données inégalée pour garantir que vos informations sensibles sont évitées.

Les modifications apportées incluent:

remplacer les "informations de confiance" avec "des informations confidentielles en chinois) pour éviter de révéler les données sensibles dans l'exemple.

Ajustements mineurs de formulation pour l'amélioration du débit et de la clarté, en maintenant la signification d'origine.

Les titres de titre et de section sont diminués modifiés au son, "
    La légende de l'image est modifiée pour refléter la langue principale de l'article.
  • L'image reste dans son format et son emplacement d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal