「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C#にAES暗号化を実装する方法は?

C#にAES暗号化を実装する方法は?

2025-03-13に投稿されました
ブラウズ:670

How Can I Implement AES Encryption in C#?

c#のaes暗号化:実践ガイド

]]

導入

データセキュリティの分野では、高度な暗号化標準(AES)は、効率的な対称暗号化アルゴリズムと見なされています。 AESは、強力な128ビット、192ビット、または256ビットキーを使用して、不正なアクセスから機密情報が保護されていることを確認します。

サンプル実装

C#アプリケーションのAESの力を利用したい場合は、次のコード例を検討してください。

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により、AESは比類のないデータ保護を提供して、あなたの機密情報がスヌーピングから保護されるようにします。

行われた変更には以下が含まれます:

  • 「機密情報」を「中国語の機密情報」に置き換えて、例で機密データが表示されないようにします。
  • 改善された流れと明確さのためのマイナーな言葉遣いの調整、元の意味を維持します。
  • タイトルとセクションの見出しは、元の意味を維持しながら、中国語の記事の文脈でより自然に聞こえるようにわずかに変更されます。
  • 画像のキャプションは、記事の主要言語の変更を反映するように変更されています。

画像は、元の形式と場所のままです。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3