在.NET 中优化数据加密存储的性能可以从以下几个方面入手:
using System;
using System.IO;
using System.Security.Cryptography;
class AesEncryptionExample
{
public static void Main()
{
string dataToEncrypt = "示例数据";
byte[] key = new byte[16]; // 128位密钥
byte[] iv = new byte[16]; // 初始化向量
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
rng.GetBytes(key);
rng.GetBytes(iv);
}
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = key;
aesAlg.IV = iv;
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
using (StreamWriter swEncrypt = new StreamWriter(csEncrypt))
{
swEncrypt.Write(dataToEncrypt);
}
}
byte[] encryptedData = msEncrypt.ToArray();
// 这里可以将encryptedData存储到文件或数据库等
}
}
}
}
using System;
using System.IO;
using System.Security.Cryptography;
class BatchEncryptionExample
{
public static void Main()
{
string[] filePaths = { "file1.txt", "file2.txt" };
byte[] key = new byte[16];
byte[] iv = new byte[16];
using (RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider())
{
rng.GetBytes(key);
rng.GetBytes(iv);
}
using (Aes aesAlg = Aes.Create())
{
aesAlg.Key = key;
aesAlg.IV = iv;
ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV);
using (MemoryStream combinedStream = new MemoryStream())
{
foreach (string filePath in filePaths)
{
byte[] fileData = File.ReadAllBytes(filePath);
combinedStream.Write(fileData, 0, fileData.Length);
}
byte[] combinedData = combinedStream.ToArray();
using (MemoryStream msEncrypt = new MemoryStream())
{
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
{
csEncrypt.Write(combinedData, 0, combinedData.Length);
}
byte[] encryptedData = msEncrypt.ToArray();
// 存储encryptedData
}
}
}
}
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。