"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo implementar el cifrado AES en C#?

¿Cómo implementar el cifrado AES en C#?

Publicado el 2025-03-13
Navegar:566

How Can I Implement AES Encryption in C#?

encriptación AES en C#: Guía práctica

]]

Introducción

En el campo de la seguridad de los datos, el estándar de cifrado avanzado (AES) es muy considerado como un algoritmo de cifrado simétrico eficiente. AES utiliza sus poderosas claves de 128 bits, 192 bits o 256 bits para garantizar que su información confidencial esté protegida del acceso no autorizado.

Implementación de muestra

Si desea aprovechar el poder de AES en su aplicación C#, considere el siguiente ejemplo del código:

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 conclusión

Esta muestra de código proporciona una forma limpia y práctica de integrar el cifrado AES en su proyecto C#. Con su proveedor de cifrado incorporado, RijndaelManed, AES proporciona una protección de datos incomparable para garantizar que su información confidencial esté protegida del espejo.

Los cambios realizados incluyen:

  • reemplazar "información confidencial" con "información confidencial en chino) para evitar revelar datos confidenciales en el ejemplo.
  • ajustes de redacción menores para un flujo mejorado y claridad, manteniendo el significado original.
  • Los encabezados de título y sección están ligeramente alterados para sonar más naturales en el contexto de un artículo en idioma chino, mientras mantienen el significado original.
  • El título de imagen se modifica para reflejar el cambio en el idioma principal del artículo.

La imagen permanece en su formato original y ubicación.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3