ホームページ > バックエンド開発 > C++ > C#にAES暗号化を実装するにはどうすればよいですか?

C#にAES暗号化を実装するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-28 20:16:08
オリジナル
870 人が閲覧しました

How Can I Implement AES Encryption in C#?

c#のaes暗号化:実用的なガイド

はじめに

データセキュリティの分野では、高レベルの暗号化標準(AE)は、効率的な対称暗号化アルゴリズムとして非常に尊敬されています。 AESは、強力な128ビット、192ビット、または256ビットキーを使用して、不正なアクセスから機密情報が回避されるようにします。

実装の例 C#アプリケーションでAESの強力な機能を使用する場合は、次のコードの例を考えてみてください。

結論

このコードの例は、C#プロジェクトにAES暗号化を統合できるシンプルで実用的な方法を提供します。 [暗号化プロバイダーが構築されたRijndaelManagedを使用して、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暗号化を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート