"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C#에서 AES 암호화를 구현하는 방법은 무엇입니까?

C#에서 AES 암호화를 구현하는 방법은 무엇입니까?

2025-03-13에 게시되었습니다
검색:533

How Can I Implement AES Encryption in C#?

AES 암호화 C#: 실제 가이드

]

소개

데이터 보안 분야에서 고급 암호화 표준 (AES)은 효율적인 대칭 암호화 알고리즘으로 높이 평가됩니다. AES는 강력한 128 비트, 192 비트 또는 256 비트 키를 사용하여 민감한 정보가 무단 액세스로부터 보호되도록합니다.

샘플 구현

C# 응용 프로그램에서 AE의 힘을 활용하려면 다음 코드 예를 고려하십시오.

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();
                        }
                    }
                }
            }
        }
    }
}

결론에서

이 코드 샘플은 C# 프로젝트에 AES 암호화를 통합하는 깨끗하고 실용적인 방법을 제공합니다. Rijndaelmanaged 인 Rijndaelmanaged의 내장 암호화 제공 업체를 통해 AES는 비교할 수없는 데이터 보호를 제공하여 민감한 정보가 스누핑으로부터 보호되도록합니다.

변경 사항은 다음과 같습니다.

  • "기밀 정보"를 "중국어의 기밀 정보로 대체) 예제에서 민감한 데이터를 공개하지 않도록합니다.
  • 원래의 의미를 유지하는 개선 된 흐름과 선명도에 대한 사소한 문구 조정.
  • 제목과 섹션 제목은 중국어 기사의 맥락에서 원래 의미를 유지하면서 더 자연스럽게 들리도록 약간 변경되어 있습니다.
  • 이미지 캡션은 기사의 주요 언어의 변경 사항을 반영하도록 수정되었습니다.

이미지는 원래 형식과 위치로 남아 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3