Heim > Backend-Entwicklung > C++ > Wie kann ich die AES -Verschlüsselung und Entschlüsselung in C#problemlos implementieren?

Wie kann ich die AES -Verschlüsselung und Entschlüsselung in C#problemlos implementieren?

Susan Sarandon
Freigeben: 2025-01-28 20:11:09
Original
930 Leute haben es durchsucht

How Can I Easily Implement AES Encryption and Decryption in C#?

AES Verschlüsselung in C#: präziser Handbuch

Auf dem Gebiet der Kryptographie sind fortgeschrittene Verschlüsselungsstandards (AES) ein leistungsstarker und weit verbreiteter Algorithmus zum Schutz sensibler Daten. Das Verständnis und die Implementierung von AES -Verschlüsselung in einer Programmiersprache wie C# scheint jedoch eine schwierige Aufgabe zu sein.

rijndaelManaged: gebaut -in -Anbieter

Glücklicherweise bot das .NET -Framework eine einfache Implementierung von AES -Verschlüsselung durch die rijndaelmanaged -Klasse. Dies bietet eine vereinfachte Möglichkeit, die Komplexität der AES -Verschlüsselung und -Delie zu verarbeiten.

Der Beispielcode für Verschlüsselung und Geheimnis

Um das Arbeitsprinzip von rijndaelmanaged zu erklären, sehen wir uns ein prägnantes Codebeispiel an:

Zusammenfassung

<code class="language-csharp">using System;
using System.Security.Cryptography;
using System.IO;

namespace AES加密示例
{
    class Program
    {
        static void Main(string[] args)
        {
            // 要加密的原始数据
            string original = "机密信息";

            // 生成新的密钥和初始化向量 (IV)
            using (RijndaelManaged rijndael = new RijndaelManaged())
            {
                rijndael.GenerateKey();
                rijndael.GenerateIV();

                // 加密
                byte[] encryptedBytes = EncryptStringToBytes(original, rijndael.Key, rijndael.IV);

                // 解密
                string decryptedString = DecryptStringFromBytes(encryptedBytes, rijndael.Key, rijndael.IV);

                // 显示结果
                Console.WriteLine("原始数据:{0}", original);
                Console.WriteLine("加密后:{0}", Convert.ToBase64String(encryptedBytes));
                Console.WriteLine("解密后:{0}", decryptedString);
            }
        }

        static byte[] EncryptStringToBytes(string plainText, byte[] key, byte[] iv)
        {
            using (RijndaelManaged rijndael = new RijndaelManaged())
            {
                rijndael.Key = key;
                rijndael.IV = iv;

                using (ICryptoTransform encryptor = rijndael.CreateEncryptor())
                using (MemoryStream msEncrypt = new MemoryStream())
                using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
                using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
                {
                    swEncrypt.Write(plainText);
                    return msEncrypt.ToArray();
                }
            }
        }

        static string DecryptStringFromBytes(byte[] encryptedBytes, byte[] key, byte[] iv)
        {
            using (RijndaelManaged rijndael = new RijndaelManaged())
            {
                rijndael.Key = key;
                rijndael.IV = iv;

                using (ICryptoTransform decryptor = rijndael.CreateDecryptor())
                using (MemoryStream msDecrypt = new MemoryStream(encryptedBytes))
                using (CryptoStream csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
                using (StreamReader srDecrypt = new StreamReader(csDecrypt))
                {
                    return srDecrypt.ReadToEnd();
                }
            }
        }
    }
}</code>
Nach dem Login kopieren
Durch die Verwendung der Rijndaelmanaged -Klasse können Entwickler die Verschlüsselung und Entschlüsselung von AES in der C# -Anwendung problemlos implementieren. Der bereitgestellte Beispielcode bietet eine solide Grundlage zum Verständnis der grundlegenden Konzepte und zum Aufbau einer Sicherheitsverschlüsselungslösung. Eine subtile Anpassung im Code wird ebenfalls vorgenommen. Ersetzen Sie außerdem die ursprüngliche Zeichenfolge "vertrauliche Informationen" in "vertrauliche Informationen", um sie im Einklang mit dem chinesischen Kontext zu gestalten.

Das obige ist der detaillierte Inhalt vonWie kann ich die AES -Verschlüsselung und Entschlüsselung in C#problemlos implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage