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>
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!