परिचय
डेटा सुरक्षा के क्षेत्र में, उन्नत एन्क्रिप्शन मानक (एईएस) को एक कुशल सममित एन्क्रिप्शन एल्गोरिथ्म के रूप में माना जाता है। AES अपनी संवेदनशील जानकारी को अनधिकृत पहुंच से संरक्षित करने के लिए यह सुनिश्चित करने के लिए अपने शक्तिशाली 128-बिट, 192-बिट या 256-बिट कुंजी का उपयोग करता है।
नमूना कार्यान्वयन
यदि आप अपने C# एप्लिकेशन में AES की शक्ति का लाभ उठाना चाहते हैं, सिस्टम का उपयोग करके; System.io का उपयोग करना; System.security.cryptography का उपयोग करना; नेमस्पेस एईएस एन्क्रिप्शन उदाहरण { वर्ग कार्यक्रम { स्थैतिक शून्य मुख्य () { कोशिश { // कच्चा डेटा स्ट्रिंग मूल = "गोपनीय जानकारी"; // कुंजी और आरंभीकरण वेक्टर (iv) बाइट [] कुंजी = {...}; बाइट [] iv = {...}; // एन्क्रिप्ट डेटा बाइट [] एन्क्रिप्टेड = एन्क्रिप्ट (मूल, कुंजी, iv); // डेटा को डिक्रिप्ट करें स्ट्रिंग डिक्रिप्टेड = डिक्रिप्ट (एन्क्रिप्टेड, कुंजी, iv); // सत्यापित करें और डिक्रिप्ट करें if (मूल == डिक्रिप्टेड) Console.writeline ("सफलतापूर्वक डिक्रिप्टेड।"); अन्य Console.writeline ("डिक्रिप्शन विफल।"); } कैच (अपवाद पूर्व) { Console.writeline ($ "त्रुटि: {Ex.Message}"); } } // एन्क्रिप्शन विधि सार्वजनिक स्थैतिक बाइट [] एन्क्रिप्ट (स्ट्रिंग प्लेनटेक्स्ट, बाइट [] कुंजी, बाइट [] iv) { उपयोग करना (asmanaged aes = new asmanaged ()) { aes.key = कुंजी; aes.iv = iv; उपयोग करना (MemoryStream MS = NEW MEMORYSTREAM ()) { (CryptoStream CS = NEW CRYPTOSTREAM (MS, AES.CreateEncryptor (), CryptoStreamMode.Write) का उपयोग करना { उपयोग (StreamWriter SW = नया स्ट्रीमराइटर (CS)) { sw.write (प्लेनटेक्स्ट); } Ms.ToArray () लौटें; } } } } // डिक्रिप्शन विधि सार्वजनिक स्थैतिक स्ट्रिंग डिक्रिप्ट (बाइट [] सिफरटेक्स्ट, बाइट [] कुंजी, बाइट [] iv) { उपयोग करना (asmanaged aes = new asmanaged ()) { aes.key = कुंजी; aes.iv = iv; उपयोग (MemoryStream MS = नया MEMEMORSTREAM (Ciphertext)) { (CryptoStream CS = NEW CRYPTOSTREAM (MS, AES.CREATEDECRYPTOR (), CryptoStreamMode.Read) का उपयोग करना { उपयोग (StreamReader SR = NEW STREAMREADER (CS)) { लौटें sr.readtoend (); } } } } } } }
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